算法练习
算法,ACM
crystal笑笑生
这个作者很懒,什么都没留下…
展开
-
HDU1711 KMP模板
HDU1711 KMP模板原创 2022-08-16 16:03:58 · 94 阅读 · 0 评论 -
ACM注意的一些细节
ACM一些要注意的细节~样例全演示一遍才敢下笔,不能先入为主。关注题目数值范围,特别注意有无可能在计算中由于乘了某一个数爆int。最好用全局变量(特别是数组,全局可开的更大)。多组输入时特别敏感,每次code前将全局变量初始化。字符串题涉及到时间(要输入:)和输入规模大时用scanf输入,切记string类型scanf不支持,但是不报错。scanf输入时参数是地址,输字符串时(char型)不用&(本身就代表地址),其余用&。结构化程序,多用函数,不要写成一大块。平时code原创 2021-03-13 17:38:49 · 229 阅读 · 0 评论 -
CF1542C Strange Function
CF1542C Strange Function原题链接题意:这里f[i]表示不是i因子的最小数。比如f[1]=2,f[2]=3,f[3]=2…题目给一个n,求出∑i=1n\sum_{i=1}^n∑i=1nf[i]。题解:可以推出f(1)=2f(2)=3f(3)=2f(4)=3f(5)=2f(6)=4f(7)=2f(8)=3f(9)=2f(10)=3f(11)=2f(12)=5f(13)=2f(14)=3f(15)=2f(16)=3f(17)=2f原创 2021-07-13 10:36:03 · 285 阅读 · 0 评论 -
2021-03-17
怎么读入带空格的字符串数组 cin>>m; string s; getchar();//吸收整数后的换行符 while(m--) { getline(cin,s);//getline输入,换行,再getline输入,中间的换行符不用吸收 stringstream ss(s); while(ss>>s)//s依次为hi,how,r,u... { if(M.count(s)==0)//M是map cout<<s<<原创 2021-03-17 10:12:54 · 74 阅读 · 0 评论 -
组合数+逆元
求组合数求CnmC_n^mCnm % PPP。Cnm%P=n!m!×(n−m)!%PC_n^m \% P={n!\over m! \times (n-m)!}\%PCnm%P=m!×(n−m)!n!%Pll C(ll n,ll m, ll P){ if(m>n) return 0; ll res=1,t1=1,t2=1; for(ll i=1,j=n;i<=m;i++,j--){ t1*=i; t1%=P; t2*=j; t2%=P; } re原创 2021-08-01 22:31:12 · 88 阅读 · 0 评论 -
2021牛客暑期多校训练第5场--D--Double String
题意原题链接给两个字符串A,B,从 {1 , 2 , 3 , … |A|} 里选出子序列 a ,从{ 1 , 2 , 3 , …|B| } 里选出子序列 b,求有多少个这种 a , b 组合满足条件。条件为:a与b长度相等存在 i 使得 Aai_{ai}ai< Bbi_{bi}bi, 且任意 j ∈\in∈ (1, i )都有 Aaj_{aj}aj = Bbj_{bj}bj 成立。题解在 [1 ,iii - 1] 和 [1,j−1j-1j−1] 区间里找公共子序原创 2021-08-01 22:46:18 · 82 阅读 · 0 评论 -
2021-03-17
并查集找连通图个数并查集就是快速合并集合,在集合里快速查找元素。例题:给出n个城市,m条路,问还要修多少路能将所有城市连在一起。思路:将能连接到的城市合并在一个集合里,最后答案是集合数-1.按照普通思路,如果a和b之间有路,belong...原创 2021-03-17 11:09:26 · 77 阅读 · 0 评论