2017 CCPC杭州 题解】的更多相关文章

2017CCPC杭州题目PDF Problem A. Super-palindrome 题解: 给你一个字符串,每一步可以将一个字符替换为另一个字符,问你最少多少步可以使得,该字符串任意奇数子串为回文串,偶数子串为回文串. 满足上面条件一定是ababab这种形式,所以我们只要找到数量最多的两种字符用n-numa-numb得到ans1,有可能一种字符的数量过多,这时候我们只要把所有字符都变成这种字符就行了.得到n-numa,ans2; 在ans1和ans2中去最小值就是答案了: 参考代码: #in…
题目链接  2017 CCPC Hangzhou Problem H 思路:对树进行分块.把第一棵树分成$\sqrt{n}$块,第二棵树也分成$\sqrt{n}$块.    分块的时候满足每个块是一个连通块,那么每个块就有一个共同的祖先. 把询问按照第一个点被第一棵树的哪个祖先管辖和第二个点被第二棵树的哪个祖先管辖,分成$n$类. 每一类询问一起处理,处理完后用可撤销并查集恢复到之前的状态. 每一类询问之间依次转移,每次转移,移动次数不会超过$\sqrt{n}$次. 最后总时间复杂度$O(n^{…
题目链接  2017 CCPC Hangzhou Problem G 题意描述很清晰. 考虑每个家庭有且仅有$k$对近亲的方案数: $C(a, k) * C(b, k) * k!$ 那么如果在第$1$个家庭里面选出$k_{1}$对近亲,在第$2$个家庭里面选出$k_{2}$对近亲......在第$n$个家庭里面选出$k_{n}$对近亲, 剩下那些人自由组合的话,那么最后这种方案至少会有$∑k$对近亲. 说是至少,因为同一个家庭里面没被强行选择的男女还是可能被组到了一起. 那么考虑如何求至少有$k…
题目链接  2017 CCPC Hangzhou  Problem E 题意  给定一棵树,每个点有一个权值,现在我们可以选一些连通的点,并且把这点选出来的点的权值相加,得到一个和. 求$[1, m]$里面哪些值可以被表示成选出来的点的权值和.用$01$序列的方式输出. 重现赛赛场上的我英勇无畏,大胆做$3000$次FFT合并两个bitset表示的答案. 然后TLE到结束(活该) 其实这个题确实要用bitset,关键是能不能把合并两个bitset转化成合并一个数和一个bitset. 考虑点分治.…
day0: 队内训练ccpc 秦皇岛,敝校自己出的题,感觉一个星期没怎么写代码,手生得很,不出意料被打飞了. day1 (热身赛): 热身赛还算顺利,A题看有的队几分钟就草过去了,还以为又是西安ICPC热身赛的C题一样暴力就好了,喜获TLE. 然后发现看错题了,要求的是距离的最大值而不是最小值,很快就想到正解AC. B题johann说是个大模拟,我和reku说既然你看了题就让你来写吧,甩锅成功. johann写好B后,我和reku也讨论出了C的解法,大致是分解出一些没有交集的矩形,然后每个矩形分…
http://acm.hdu.edu.cn/downloads/CCPC2018-Hangzhou-ProblemSet.pdf 解析 线段树区间延迟更新 或 差分数组 两个数   统计2和3的最少的个数  乘一下 差分数组https://blog.csdn.net/yao166164474/article/details/52675613 AC代码 #include<iostream> #include<cstring> #include<cstdio> #inclu…
题目链接 http://acm.hdu.edu.cn/downloads/CCPC2018-Hangzhou-ProblemSet.pdf B题 数论题      h(n)=∑ d|n φ(d) × n /d   求一个数的h值   我们只要意识到他是一个积性函数就解决了  这个函数看起来很像狄利克雷卷积 我们构造一个函数f(n)=n;h(n)=∑ d|n φ(d) × f(n /d) 欧拉函数φ是积性函数 构造的f是完全积性函数 所以他们的狄利克雷卷积h也是积性函数  然后推导一下答案就是 ∑…
题目链接  2017 CCPC Harbin Problem A Problem B Problem D Problem F Problem L 考虑二分答案. 设当前待验证的答案为x 我们可以把第二个条件转化为在子树中最多有几个点是黑色的. 那么我们可以根据这些条件求出以每个点为根的子树的黑点数范围,做一次dfs. 最后看看根结点的范围是否包含x即可. #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for…
Ccpc杭州站赛后总结 2017年11月4号五号,我参加了ccpc杭州站的比赛,我的队友是聂少飞和王艳,在4号一点半,举行了比赛开幕式,听着教练代表的发言,听着参赛选手代表的发言,听着志愿者的发言,都令人感觉到这场比赛准备的充足与正式,开幕式结束后就是热身赛了,热身赛只有三道题,第一题翻译不难,很快就读懂题了.但是一时间没有头绪,三个人在那想了几分钟才想到方法写出来,一提交,A了,然后我和王艳看第二题,聂少飞在测编译环境.第二题的题意不长,但是总是和样例对不上,然后又回去读题,继续猜题意,琢磨了…
2017 ccpc哈尔滨 A题 Palindrome 题意: 给一个串\(T\),计算存在多少子串S满足\(S[i]=S[2n−i]=S[2n+i−2](1≤i≤n)\) 思路: 很明显这里的回文串长度为奇数,所以用\(manacher\)处理时不需要添加间隔字符 所以这里的\(Len[i]\)表示的就是以\(i\)为中心的回文串向左右最远能延伸的长度 那么\(S[i]=S[2n−i]=S[2n+i−2](1≤i≤n)\)就等价于 找到一对$(i,j), 满足i - Len[i] + 1 <=…
题目链接  2017 CCPC Harbin Problem K 题意  给定若干物品,每个物品可以覆盖一个区间.现在要覆盖区间$[1, t]$. 求选出来的物品的$\frac{∑a_{i}}{∑b_{i}}$的最小值. 首先二分答案,那么每个物品的权值就变成了$x * b_{i} - a_{i}$ 在判断的时候先把那些权值为正的物品全部选出来, 然后记录一下从$1$开始可以覆盖到的最右端点的位置. 接下来开始DP,按照区间的端点升序排序(左端点第一关键字,右端点第二关键字) 问题转化为能否用剩…
The 2017 China Collegiate Programming Contest Qinhuangdao Site is coming! There will be  teams participating in the contest, and the contest will be held on a huge round table with  seats numbered from 1 to  in clockwise order around it. The -th team…
看大佬做2017-WF,我这种菜鸡,只能刷刷水题,勉强维持生活. 赛后补补水题. 题目pdf链接,中文的,tls翻译的,链接在这里 个人喜欢在vjudge上面刷题. E Need for Speed 题意: 有中文题意,我就不多说了,仪表盘会有一个固定偏差,求这个. 思路: 二分答案,进行判断,二分的上下限,我是 -1 到 1e8:一开始范围错了WA掉了. #include <stdio.h> #include <iostream> #include <algorithm&g…
BaoBao has just found a string  of length  consisting of 'C' and 'P' in his pocket. As a big fan of the China Collegiate Programming Contest, BaoBao thinks a substring  of  is "good", if and only if  'C', and  'P', where  denotes the -th charact…
A. Balloon Robot 假设机器人$0$时刻位于$0$号位置,那么每个气球所需的时间为$(s_a-b)\bmod m$. 将所有气球按这个时间排序,枚举每个气球的时间作为偏移量,得出最优解即可. 时间复杂度$O(p\log p)$. #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const int N=1000010; int T,n,m,p,i,s[N];l…
A. Vicious Keyboard 题意:给你一个字符串,里面只会包含VK,这两种字符,然后你可以改变一个字符,你要求VK这个字串出现的次数最多. 题解:数据范围很小,暴力枚举改变哪个字符,然后check就好. #include<bits/stdc++.h> using namespace std; int main(){ string s; cin>>s; int ans = 0; for(int i=0;i<s.size();i++){ if(s[i]=='V'){…
补一发A的题解. A - Snuke's favorite YAKINIKU 题意: 输入字符串S,如果以YAKI开头输出Yes,否则输出No. #include<bits/stdc++.h> using namespace std; int main() { char s[20];cin>>s; int n=strlen(s); if(n<4)puts("No"); else { if(s[0]=='Y'&&s[1]=='A'&&…
都tm快一年了我还没补这套题……再不补怕是要留给退役后乐 Problem A 把$n * (n + 1)$的矩阵补成$(n + 1) * (n + 1)$的,然后高斯消元. Problem B 一看题解:费用流,于是这个题直接交给队友. Problem C 又是高斯消元…… Problem D 直接输出即可. #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i(a); i <= (b)…
PUBG is a multiplayer online battle royale video game. In the game, up to one hundred players parachute onto an island and scavenge for weapons and equipment to kill others while avoiding getting killed themselves. BaoBao is a big fan of the game, bu…
BaoBao is trapped in a one-dimensional maze consisting of  grids arranged in a row! The grids are numbered from 1 to  from left to right, and the -th grid is marked with a character , where  is either 'L' or 'R'. Starting from the -th grid, BaoBao wi…
Given an array of  integers , we say a set  is a prime set of the given array, if  and  is prime. BaoBao has just found an array of  integers  in his pocket. He would like to select at most  prime set of that array to maximize the size of the union o…
DreamGrid has a nonnegative integer . He would like to divide  into nonnegative integers  and minimizes their bitwise or (i.e.  and  should be as small as possible). Input There are multiple test cases. The first line of input contains an integer , i…
5题倒数第一,铜……(我就知道我们很稳!!!哼!! 这一次心态完全爆炸 开场我就没有按照平时的顺序读题 然后zr的A题wa 我F题T xl说B是一个最小生成树,又说是最小树形图,不会写 K题完全没思路 C题不读懂题 哈哈哈哈哈mdzz 想一想我当时的心情哈哈哈哈 然后A题改了细节过掉 C题读懂题是一个sb贪心 乱搞wa了 然后去掉浮点数运算 过了 中间又浪费很多时间 然后F就是T wa wa T 后来他们俩一起看我的代码 终于找出错 哎 我真煞笔 然后B题抄了200行的模板上去 T掉了 实际上感…
毕竟是在杭电比的,和之前大连的icpc不同,杭电毕竟是隔壁学校,来回吃住全都是在自家寝室,方便! 不过说到方便也是有点不方便,室友都喜欢玩游戏,即使我昨晚9.30就睡觉了,仍然是凌晨一点才睡着,2333(开语音玩游戏的室友伤不起). 这场比赛和大连打的差不多,我们队都是前期A出了几题,然后一直卡啊卡,卡啊卡,直到开始封榜了我们才开始出题.大连貌似封榜后迅速过了三题,杭电这场在封榜后的最后十分钟内连续过了两题.每次都是惊心动魄= =,我的小心脏. 不过大连那场6题垫底几名打铁滚粗= =(貌似6题倒…
Geometry Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1091    Accepted Submission(s): 208Special Judge Problem Description Alice is interesting in computation geometry problem recen…
Problem A. Kicksort 题意抽象一下为: 对于一个每次都从数列正中间取划分数的快速排序,给定一个1-n的排列,问快排的复杂度对于这个排列是否会退化为最坏复杂度. 数据范围: 测试组数1 ≤ T ≤ 100.   2 ≤ N ≤ 10000.  思路: 如连连看一般在一列数中反复消去正中间一个,判断其是否一直是目前数列的最小元素或最大元素. 模拟即可,维护一个当前数列最小值,当前数列最大值,消去边界l和r.(注意到每次消去的元素在原数列中必然组成一个连续区间) 每次判断消去边界应该…
Bob intends to color the nodes of a tree with a pen. The tree consists of NN nodes. These nodes are numbered 1,2,...,N1,2,...,N. The root of the tree is node 11. The initial color of each node is white. Bob can use one unit energy to color one node i…
A题:给定A,N,P,计算A的N!次幂对P取模的结果. 数据范围: T次测试,1 ≤ T ≤ 100 1<=A,N,P<=105 快速幂一下就好了.O(nlogn). AC代码: #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;++i) using namespace std; const int MAXN=1e5+1e4; long long mo[MAXN]; int TT; long long a,…
失踪人口回归.撒花\^o^/ 说来真是惭愧,NOI之后就没怎么刷过题,就写了几道集训队作业题,打了几场比赛还烂的不行,atcoder至今是蓝名=.= 以后还是多更一些博客吧,我可不想清华集训的时候就退役 A - XXFESTIVAL 题意:输入XXFESTIVAL,输出XX... #include<bits/stdc++.h> using namespace std; char s[1005]; int main() { scanf("%s",s); int n=strle…
有坑!!!当x==0时,因为y>0,a,b不能同时为0,所以答案要-1 #include<iostream> #include<cstdlib> #include<cstdio> #include<string> #include<vector> #include<deque> #include<queue> #include<algorithm> #include<set> #include…