上一页 1 ··· 39 40 41 42 43 44 45 46 47 ··· 55 下一页
摘要: "Link" 这题以前叫睡觉困难综合征。 首先我们需要知道起床困难综合征怎么做。 大概就是先用一个全$0$和全$1$的变量跑一遍处理出每一位$1$和$0$最后会变成什么。 然后高位贪心:如果当前位能够从$0$到$1$,那么直接选上。如果能够从$1$到$0$,那么能选就选。 现在我们把它放到了树上。 阅读全文
posted @ 2019-11-22 19:38 Shiina_Mashiro 阅读(211) 评论(0) 推荐(0) 编辑
摘要: "Link" 首先考虑没有修改的情况。显然直接暴力Ex Euler定理就行了,单次复杂度为$O(\log p)$的。 现在有了修改,我们可以树状数组维护差分数组,然后$O(\log n)$地单次查询单点值。 阅读全文
posted @ 2019-11-22 19:19 Shiina_Mashiro 阅读(206) 评论(0) 推荐(0) 编辑
摘要: "Link" 首先容斥转化为求删掉的数的个数。 考虑如果所选的区间内不存在重数怎么做。 先离散化。 然后我们需要对每个询问求其删掉的数。 把每个询问拆成3个区间跑莫队。 跑的时候用bitset记录当前区间内有哪些数就行了。 考虑如何处理重数的问题。 设$i$在序列中出现的次数为$cnt_i$。 显然 阅读全文
posted @ 2019-11-22 19:10 Shiina_Mashiro 阅读(134) 评论(0) 推荐(0) 编辑
摘要: "题目" 先进行一个转化: 每次花费$\gcd\limits_{i=l+1}^rB_i$的代价,可以连$(l,r)$这一条边。 然后我们需要求$0\sim n$的最小生成树。 根据Kruskal的思想,$(0,n)$这条边一定会被选。 然后根据Prim的思想,对于某个点,我们需要找到其最短的出边。 阅读全文
posted @ 2019-11-19 11:45 Shiina_Mashiro 阅读(304) 评论(0) 推荐(1) 编辑
摘要: "Link" 需要注意到Kruskal算法的一些性质。 $1.$一个图所有可能的最小生成树中某个权值的边的个数是相等的。 $2.$当我们把所有边权$\le w$的边加入生成树之后,所有情况下这个图的连通性都一样。 因此我们可以把一个询问拆成每种边权的边是否能有给定数目条同时在一个生成树内。 我们还是 阅读全文
posted @ 2019-11-19 10:18 Shiina_Mashiro 阅读(120) 评论(0) 推荐(0) 编辑
摘要: ###Vigenère密码 Link 模拟。 #include <iostream> using namespace std; int main() { string k,c; cin>>k>>c; for (int i=0;i<c.length();i++) { int t=(k[i%k.leng 阅读全文
posted @ 2019-11-15 20:39 Shiina_Mashiro 阅读(164) 评论(0) 推荐(0) 编辑
摘要: ###转圈游戏 Link 快速幂。 #include<cstdio> int n; int mul(int a,int b){return 1ll*a*b%n;} int power(int k){int a=10,r=1;for(;k;k>>=1,a=mul(a,a))if(k&1)r=mul(a 阅读全文
posted @ 2019-11-15 19:43 Shiina_Mashiro 阅读(137) 评论(0) 推荐(0) 编辑
摘要: ###生活大爆炸版石头剪刀布 Link 模拟。 #include <bits/stdc++.h> using namespace std; int n,na,nb,a[2001],b[2001],ans1,ans2; int score[5][5]={{0,0,1,1,0},{1,0,0,1,0}, 阅读全文
posted @ 2019-11-15 16:39 Shiina_Mashiro 阅读(130) 评论(0) 推荐(0) 编辑
摘要: ###神奇的幻方 Link 模拟。 #include<iostream> using namespace std; int a[40][40]; int main() { register int n,s=1,x,y; cin>>n; while(s<=n*n) if(s==1) a[x=1][y= 阅读全文
posted @ 2019-11-14 20:03 Shiina_Mashiro 阅读(134) 评论(0) 推荐(0) 编辑
摘要: ###玩具谜题 Link 模拟。 #include<iostream> #include<vector> using namespace std; int n,m,p; vector<string> work; vector<bool> a; int main() { cin>>n>>m; for( 阅读全文
posted @ 2019-11-14 09:39 Shiina_Mashiro 阅读(124) 评论(0) 推荐(0) 编辑
上一页 1 ··· 39 40 41 42 43 44 45 46 47 ··· 55 下一页