社区讨论

90分超时求助

P2671[NOIP 2015 普及组] 求和参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mi6z1ao2
此快照首次捕获于
2025/11/20 13:08
4 个月前
此快照最后确认于
2025/11/20 13:08
4 个月前
查看原帖
RT,第8个点超时
思路是按颜色排序,在每个颜色里遍历,2个点编号之和为偶数就加进ans
CPP
#include<bits/stdc++.h>

#pragma GCC diagnostic error "-std=c++11"
#pragma GCC target("sse2")
#pragma GCC optimize(3)
#pragma GCC target("avx")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")

using namespace std;

long long ans;
long long n,c,k;
long long co[100010];
struct note
{
	long long color,num,bh;
}z[100010];

bool cmp(note,note);

int main()
{
	freopen("ggg.in","r",stdin);
	freopen("ggg.out","w",stdout);
	scanf("%lld%lld",&n,&c);
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&z[i].num);
		z[i].bh=i;
	}
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&z[i].color);
		co[z[i].color]++;
	}
	sort(z+1,z+1+n,cmp);
	for(int i=1;i<=n;i+=co[k])
	{
		k++;
		for(int j=i;j<=i+co[k]-1;j++)
		{
			for(int p=j+1;p<=i+co[k]-1;p++)
			{
				if((z[p].bh+z[j].bh)%2==0)ans=(ans+(z[p].bh+z[j].bh)*(z[p].num+z[j].num))%10007;
			}
		}
	}
	printf("%lld",ans);
return 0;
}

bool cmp(note d1,note d2)
{
	if(d1.color==d2.color)return d1.bh<d2.bh;
	else return d1.color<d2.color; 
}

回复

3 条回复,欢迎继续交流。

正在加载回复...