首页 > 其他分享 >CSP2024 前集训:多校A层冲刺NOIP2024模拟赛11

CSP2024 前集训:多校A层冲刺NOIP2024模拟赛11

时间:2024-10-22 18:58:41浏览次数:1  
标签:11 unlocked read void 多校 Tp CSP2024 int inline

前言

T1 不知道啥是冒泡排序,理解了一会儿题面代码发现是啥意思了于是就签了。

后面的题都不是很可做,T2、T4 计数,T3 高级玩意看不懂。

但是 T2 有点可做,但我的 DP 不知道哪儿假了,暴力还打挂了,不然加个 bitset 就操过去了。

T1 冒泡排序

\(i\) 只能和 \(i+k,i+2k,……\) 换,对于每一个模 \(k\) 的余数拎出来放 vector 里排序即可。

点击查看代码
#include<bits/stdc++.h>
#define ll long long
#define endl '\n'
#define sort stable_sort
using namespace std;
const int N=1e6+10;
template<typename Tp> inline void read(Tp&x)
{
	x=0;register bool z=true;
	register char c=getchar_unlocked();
	for(;!isdigit(c);c=getchar_unlocked()) if(c=='-') z=0;
	for(;isdigit(c);c=getchar_unlocked()) x=(x<<1)+(x<<3)+(c^48);
	x=(z?x:~x+1);
}
template<typename T,typename ...Tp> inline void read(T &x,Tp &...y){read(x);read(y...);}
template<typename Tp> inline void wt(Tp x){if(x>9)wt(x/10);putchar_unlocked((x%10)+'0');}
template<typename Tp> inline void write(Tp x){if(x<0)putchar_unlocked('-'),x=~x+1;wt(x);}
template<typename T,typename ...Tp> inline void write(T x,Tp ...y){write(x);putchar_unlocked(' ');write(y...);}
int n,k,a[N]; vector<int>b[N];
signed main()
{
	freopen("bubble.in","r",stdin),freopen("bubble.out","w",stdout);
	read(n,k); for(int i=1;i<=n;i++) read(a[i]);
	for(int i=1;i<=k;i++)
	{
		for(int j=i;j<=n;j+=k) b[i].push_back(a[j]);
		sort(b[i].begin(),b[i].end(),[](int x,int y){return x>y;});
	}
	for(int i=1;i<=n;i++)
	{
		write(b[(i-1)%k+1].back()),b[(i-1)%k+1].pop_back();
		putchar_unlocked(' ');
	}
}

T2 染色

当最后的数列为原数列的子序列,最后的数列是合法的,(1 1 1 2 2 3 3 视为 1 2 3),这是显然的。

\(f_{i,j,k}\) 表示处理到第 \(i\) 位,子序列长度为 \(j\),结尾为 \(k\) 的方案数,有:

\[f_{i,j,a_i}=[j=1]+\sum_{k=1}^{i-1}\sum_{h=1}^m[a_i\ne h]f_{k,j-1,h} \]

直接前缀和优化成 \(O(nm)\) 的,bitset 优化成 \(O(\frac{nm}{w})\)。

插板法,最后答案为 \(\sum\limits_{i=1}^nC_{n-1}^{i-1}\sum\limits_{j=1}^mf_{n,i,j}\)。

关于 \(C_n^m\) 的奇偶性,有 \(C_n^m\bmod 2=[n\&m=m]\),lucas 定理直接证。

点击查看代码
#include<bits/stdc++.h>
#pragma GCC optimize(3)
#define ll long long
#define endl '\n'
#define sort stable_sort
using namespace std;
const int N=1e5+10,M=2e4+10;
template<typename Tp> inline void read(Tp&x)
{
	x=0;register bool z=true;
	register char c=getchar_unlocked();
	for(;!isdigit(c);c=getchar_unlocked()) if(c=='-') z=0;
	for(;isdigit(c);c=getchar_unlocked()) x=(x<<1)+(x<<3)+(c^48);
	x=(z?x:~x+1);
}
template<typename T,typename ...Tp> inline void read(T &x,Tp &...y){read(x);read(y...);}
template<typename Tp> inline void wt(Tp x){if(x>9)wt(x/10);putchar_unlocked((x%10)+'0');}
template<typename Tp> inline void write(Tp x){if(x<0)putchar_unlocked('-'),x=~x+1;wt(x);}
template<typename T,typename ...Tp> inline void write(T x,Tp ...y){write(x);putchar_unlocked(' ');write(y...);}
int T,n,m,len,a[N]; bitset<N>f[M],g,tmp; bool ans;
inline bool C(int n,int m) {return (n&m)==m;}
signed main()
{
	freopen("color.in","r",stdin),freopen("color.out","w",stdout);
	for(read(T);T;T--)
	{
		read(n,m),ans=0,g=0; for(int i=1;i<=m;i++) f[i]=0;
		for(int i=1;i<=n;i++) read(a[i]); len=unique(a+1,a+1+n)-a-1;
		for(int i=1,x;i<=len;i++)
			tmp=g^f[x=a[i]],f[x]=tmp<<1,f[x][1]=1,g=tmp^f[x];
		for(int i=1;i<=len;i++) ans^=g[i]&C(n-1,i-1);
		putchar_unlocked(ans?'1':'0');
	}
}

T3 图

咕了。

T4 山峦

咕了。

标签:11,unlocked,read,void,多校,Tp,CSP2024,int,inline
From: https://www.cnblogs.com/Charlieljk/p/18493541

相关文章

  • 『模拟赛』多校A层冲刺NOIP2024模拟赛11
    Rank考前不挂就是赢A.冒泡排序签,简单的有点格格不入。发现错误代码实质上是将原序列划分成了若干个连通块,并对每个连通块做一遍排序。并查集维护,\(\mathcal{O(n)}\)扫一遍合并连通块,然后按顺序输出即可。复杂度最坏\(\mathcal{O(n\logn)}\)。点击查看代码#include<b......
  • 多校A层冲刺NOIP2024模拟赛11
    多校A层冲刺NOIP2024模拟赛11\(T1\)A.冒泡排序\(100pts/100pts/100pts\)将循环\(j\)提到外面,本质上是对\(a_{j},a_{j+k},a_{j+2k},\dots,a_{j+xk}\)进行排序迭代的过程。按下标模\(k\)的余数分别排序即可。点击查看代码inta[1000010];vector<int>b[1000......
  • YOLOv11模型改进-注意力-引入简单无参数注意力模块SimAM 提升小目标和遮挡检测
                本篇文章将介绍一个新的改进机制——卷积和注意力融合模块SimAM ,并阐述如何将其应用于YOLOv11中,显著提升模型性能。首先,SimAM是一种用于卷积神经网络的简单且无参数的注意力模块,它基于神经科学理论定义能量函数来计算3-D注意力权重,能有效提升网络......
  • 2024牛客暑期多校训练营9 - VP记录
    A.ImageScaling签到题,找出举行宽高以后直接除以它们的\(\gcd\)使它们互质即可。(这道题居然会有人又WA又RE,我不说是谁)点击查看代码#include<cstdio>#include<cstring>usingnamespacestd;constintN=505;intn,m,x1,y1,x2,y2;charg[N][N];intgcd(intx,int......
  • 多校A层冲刺NOIP2024模拟赛11
    又双叒叕垫底了。rank11,T190,T212,T35,T435。accdoer上rank44,T1100,T20,T35,T435。难度难评,T1签,剩下的不可做?死磕T3了,猜一个结论假一个,打完暴力遗憾离场。好像两个题库都挂了几分,不管了,赛前挂分RP就++。慢报:5k_sync_closer成功地取得了NFLS模拟赛第一名的好成绩。冒泡......
  • Docker 部署 JDK11 图文并茂简单易懂
    部署JDK11(Docker)[Step1]:下载JDK11-JDK11|Oracle甲骨文官网[Step2]:jdk11上传服务器/root/jdk11可自行创建文件夹进入目录/root/jdk11解压文件tar-zxvfjdk-11.0.22_linux-x64_bin.tar.gz解压后进入/root/jdk11/jdk-11.0.22创建jre文件......
  • 2024淘宝双十一红包口令大全,双11满300减多少?
    2024年双十一淘宝红包活动已经于10月14日晚上20点正式启动。朋友们都在寻找2024年双十一淘宝领红包的口令。那么,这个神秘的超级红包口令到底是什么呢?让我们一起加入这场购物的盛宴吧!那么,2024最新的的淘宝双十一红包口令到底是什么呢?2024淘宝双十一红包口令是【¥CZ00017DEM3N......
  • 11-案例:多线程版用户聊天程序
    1.多线程版用户群聊程序的_多用户聊天运行结果2.多线程版用户群聊程序的_服务端代码3.多线程版用户群聊程序的_客户端代码4.多线程版用户群聊程序的_双用户聊天运行结果5.多线程版用户群聊程序的_双用户聊天运行服务端代码6.多线程版用户群聊程序的_双用户聊天运行客户端代码......
  • Win11安装WSL2,自定WSL2安装位置,安装到其他磁盘(非C盘)
    参考:【Linux】自定义WSL2安装位置,安装到其他磁盘(非C盘)_wsl2指定安装路径-CSDN博客超详细Windows10/Windows11子系统(WSL2)安装Ubuntu20.04(带桌面环境)_wsl安装ubuntu20.04-CSDN博客旧版WSL的手动安装步骤|MicrosoftLearn【安装笔记-20240520-Windows-自定义WSL2安装......
  • 物理学基础精解【115】
    这里写目录标题统计物理学点估计定义性质数学原理公式计算例子例题区间估计(IntervalEstimation)定义性质数学原理公式计算例子例题在统计学中,估计量1.无偏性2.有效性3.一致性4.其他性质总结无偏估计和有偏估计无偏估计定义性质数学原理公式计算例子例题有偏估计......