首页 > 其他分享 >10.12 代码源 2024 CSP-S 模拟赛 Day 14

10.12 代码源 2024 CSP-S 模拟赛 Day 14

时间:2024-10-14 10:21:40浏览次数:15  
标签:14 奇数 int T2 然后 2024 Day 暴力

省流:\(100+0+0+8=108\)

简称:唐诗

T1

T2

T2 很有思路,几分钟就推出来一个 \(a_i\) 不全为奇数的柿子,然后发现大样例是全为奇数的()

然后就一直在推式子,然后快推完了比赛结束了……

然后赛后发现全为奇数的用暴力搞……

T3

一眼 DP 但是想写 T2,甚至连暴力都没码……

正解是状压(一位大佬的):

f[0][0]=g[n+1][0][0]=0;
for(int i=1;i<=n;++i){
	for(int j=0;j<16;++j) val[i][j]=-((j>>3)&1)*a[i].y+((j>>2)&1)*a[i].y-((j>>1)&1)*a[i].x+(j&1)*a[i].x+a[i].w;
	for(int j=0;j<16;++j){
		f[i][j]=f[i-1][j]+a[i].w;
		for(int s=j;s;s=(s-1)&j) f[i][j]=max(f[i][j],f[i-1][j^s]+val[i][s]);
	}
}
for(int i=n;i;--i)
	for(int k=0;k<=4;++k)
		for(int j=0;j<16;++j){
			g[i][k][j]=g[i+1][k][j];
			for(int s=j;s;s=(s-1)&j) g[i][k][j]=max(g[i][k][j],g[i+1][k-1][j^s]+val[i][s]);
		}
while(q--){
	int x;ll res=0;
	scanf("%d",&x);
	for(int i=x;i>=x-4&&i>=0;--i) for(int j=0;j<16;++j) res=max(res,f[i][15^j]+g[i+1][x-i][j]);
	printf("%lld\n",res);
}

T4

感觉不会写就看了两眼,赛后发现可以人类智慧,然后就是裸线段树了……

总结

  • T2 浪费过多时间

  • 就算懒也要打暴力

  • 注意时间

  • 要有敏感性

\(\LARGE{唐}\)

标签:14,奇数,int,T2,然后,2024,Day,暴力
From: https://www.cnblogs.com/whrwlx/p/18463504

相关文章

  • Windows Server 2025 OVF, released Sep 2024 (sysin) - VMware 虚拟机模板
    WindowsServer2025OVF,releasedSep2024(sysin)-VMware虚拟机模板2024年9月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2025-ovf/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org现......