[链接] 我是链接,点我呀:) [题意] [题解] 模拟了一两下.. 然后发现. 对于每一个前缀. 组成的新的最小字典序的字符串 要么是s[i]+reverse(前i-1个字符经过操作形成的最大字典序的字符串);或者是 (前i-1个字符经过操作形成的最小字典序的字符串)+s[i] 因为最大字典序,翻转一下,然后把s[i]放前面..显然更可能得到较小字典序的字符串. 这个最大字典序的字符串类似处理一下就Ok. [代码] #include <bits/stdc++.h> #define rep1(…
[链接] 我是链接,点我呀:) [题意] [题解] 设每个人做第一题.第二题的分数分别为x,y 我们先假设没有仇视关系. 即每两个人都能进行一次训练. 那么 对于第i个人. 考虑第j个人对它的贡献 如果xi+yj<yi+xj 即xi-yi<xj-yj 也就是说,如果我们以x-y作为关键字升序排序的话. 那么在第i个人右边的所有人.他的xj-yj的值都大于xi-yi 那么这n-i个人对第i个人的贡献就都是xi+yj 可以用一个前缀和,轻松搞定区间的x,y和. xi+yj>yi+xj的话.…
[链接] 我是链接,点我呀:) [题意] [题解] 枚举k 那么另外一个人的得票就是nk-sum(ai) 找到最小的满足nk-sum(ai)>sum(ai)的k就ok了 [代码] #include <bits/stdc++.h> #define rep1(i,a,b) for (int i = a;i <= b;i++) #define rep2(i,a,b) for (int i = a;i >= b;i--) using namespace std; const int…
[链接] 我是链接,点我呀:) [题意] [题解] 枚举k 不难根据a得到x[0..k-1] 然后再根据a[k+1..n]来验证一下得到的x是否正确就好. [代码] #include <bits/stdc++.h> #define rep1(i,a,b) for (int i = a;i <= b;i++) #define rep2(i,a,b) for (int i = a;i >= b;i--) using namespace std; const int N = 1000;…
[链接] 我是链接,点我呀:) [题意] 相当于问你这m个数组的任意长度公共子串的个数 [题解] 枚举第1个数组以i为起点的子串. 假设i..j是以i开头的子串能匹配的最长的长度. (这个j可以给2..m这些数组用一个类似链表的东西很快得到,O((j-i+1)M)的复杂度即可完成. 那么我们会发现,我们不需要重新再从i+1开始枚举. 因为i..j这一段的任意一个子串都是满足要求(公共子串)的. 而它有len(1+len)/2个子串 那么我们从j+1开始继续上述步骤就Ok了. 注意m=1的时候..…
Codeforces Round #519 by Botan Investments #include<bits/stdc++.h> #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<vect…
开个新号打打codeforces(以前那号玩废了),结果就遇到了这么难一套.touristD题用了map,被卡掉了(其实是对cf的评测机过分自信),G题没过, 700多行代码,码力惊人.关键是这次tourist掉到第二了,掉了200多分,为神节哀. 做了4道,要不是第4题一直炸第5题也能做出来.本来想着上蓝名的.然后我第二题挂了,判断循环节写错了.绝望啊---- 比赛传送门:http://codeforces.com/contest/1043 A. Elections 这题很简单,就是说有n个人…
https://codeforces.com/contest/1043/problem/F 题意 给你n个数,求一个最小集合,这个集合里面数的最大公因数等于1 1<=n<=3e5 1<=a[i]<=3e5 思路 先考虑什么情况下满足集合中的最大公因数=1? 集合中的每个数没有共同的素因子,即所有素因子并没有包含于选出集合的所有数中,存在结论前7个素因子的乘积为510510,所以可以得出选出的集合大小最大为7 定义dp[i][j]为,集合大小为i,集合最大公因数=j的方案数 dp[i…
A:枚举答案即可.注意答案最大可达201,因为这个wa了一发瞬间爆炸. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; int read() { ,f=;char c=getchar(); ;c=getchar();} )+(x…
A:https://www.cnblogs.com/myx12345/p/9872082.html B:https://www.cnblogs.com/myx12345/p/9872124.html C:https://www.cnblogs.com/myx12345/p/9872262.html D:https://www.cnblogs.com/myx12345/p/9872409.html E: F: G:…
A:https://www.cnblogs.com/myx12345/p/9843966.html B: C:https://www.cnblogs.com/myx12345/p/9844084.html D: E: F: G:…
A:https://www.cnblogs.com/myx12345/p/9843678.html B:https://www.cnblogs.com/myx12345/p/9843709.html C:https://www.cnblogs.com/myx12345/p/9843785.html D:https://www.cnblogs.com/myx12345/p/10077432.html E:https://www.cnblogs.com/myx12345/p/10077993.htm…
A:https://www.cnblogs.com/myx12345/p/9843032.html B:https://www.cnblogs.com/myx12345/p/9843050.html C:https://www.cnblogs.com/myx12345/p/9843078.html D:https://www.cnblogs.com/myx12345/p/9843119.html E: F:https://www.cnblogs.com/myx12345/p/10071332.h…
Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)  A. Arpa and a research in Mexican wave time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Arpa is researching the Mexican…
Codeforces Round #431 (Div. 2)  A. Odds and Ends time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Where do odds begin, and where do they end? Where does hope emerge, and will they ever break…
Codeforces Round 1137 这场比赛做了\(A\).\(B\),排名\(376\). 主要是\(A\)题做的时间又长又交了两次\(wa4\)的. 这两次错误的提交是因为我第一开始想的求最大值很不对,竟然还有\(min\)在里面... Codeforces 1137 A 题意:给一个矩阵,问对于每一个格子\((x,y)\),把第\(x\)行和第\(y\)列的值取出,要求将它们每一个赋上一个正整数,要求同一行.列中大小关系依然相同,问最大的数. 思路:我们先考虑每一行(列)的数们把它…
Codeforces Round 1132 这场比赛做了\(A\).\(B\).\(C\).\(F\)四题,排名\(89\). \(A\)题\(wa\)了一次,少考虑了一种情况 \(D\)题最后做出来,但被\(hack\)了...被\(hack\)的原因是没有想到答案会超过\(10^{12}\)(毕竟这个时间上的优化也是在最后迫不得已的情况下加的,就没有考虑正确性... Codeforces 1132 C 题意:给一些区间\([l_i,r_i]\),从中删掉两个,求剩下的区间最多能够覆盖的格子数…
Codeforces Round 1120 这场比赛做了\(A\).\(C\)两题,排名\(73\). \(A\)题其实过的有点莫名其妙...就是我感觉好像能找到一个反例(现在发现我的算法是对的... \(C\)题的心路历程: 第一眼:这不后缀自动机吗??? 算了滚去写哈希表乱搞吧... 嗯怎么\(mle\)了???算了把数组改成\(vector\)吧... 嗯怎么又\(wa\)了???算了我还是老老实实去敲SAM吧... 嗯???\(pretest\ passed\)??!! 所以就交了\(3…
Codeforces Round 1129 这场模拟比赛做了\(A1\).\(A2\).\(B\).\(C\),\(Div.1\)排名40. \(A\)题是道贪心,可以考虑每一个站点是分开来的,把目的地最小编号的留到最后,所以答案稍微算一下就行了. \(B\)题是道找规律,首先可以很容易地发现只要前面弄个负数的开头,错误算法就会忽略掉这一个值,所以利用这个来构造答案.(最讨厌构造题了)然后推导一番式子就会发现如果我们将第一个值放-1,则 \(\sum_{i=2}^na_i=k+n\), 再更改一…
Codeforces Round 1117 这场比赛做了\(A\).\(B\).\(C\).\(D\).\(E\),\(div.2\)排名\(31\),加上\(div.1\)排名\(64\). 主要是\(A\)题卡了很久,直到第\(52\)分钟才做出来,思路固化了,一直没想到最大平均值的区间就是只含有最大值的区间.幸好节奏没有受到太大影响. 最后去肝\(G\),最后一分钟一把过了样例,就赶紧交,结果\(ce\)了...实在是...是因为我定义重数组,而条件编译使我看不出有问题(这段快读的代码本机…
Codeforces Round 1114 这场比赛做了\(A\).\(C\).\(D\).\(E\),排名\(134\). \(B\)题做了很长时间,好不容易最后一分钟\(Pretest\ Passed\)了,但是又\(FST\)了... \(C\)题\(wa7\)了一次,因为爆\(long\ long\)了 \(E\)题\(wa1\)了一次,因为最后的输出格式错了…
Codeforces Round 1110 这场比赛只做了\(A\).\(B\).\(C\),排名\(905\),不好. 主要的问题在\(D\)题上,有\(505\)人做出,但我没做出来. 考虑的时候方向不对,一直抠一个思路不放,然后就一直做不出来. 虽然我中间也考虑过其他的思路,但是都没有思考完善,于是就一直在给我原来的方法加补丁. Codeforces 1110 D 题意:给定一个序列,问最多可以把该序列分成几个满足下列两个条件之一的三元组: 这三个数字相同 这三个数字为连续的三个数 思路:…
A. Elections 题意概述 给出 \(a_1, \ldots, a_n\),求最小的 \(k (k \ge \max a_i)\), 使得 \(\sum_{i=1}^n a_i < \sum_{i=1}^n (k-a_i)\) 原题链接 解题思路 数据范围小,直接枚举就好了 代码 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); int n; cin &g…
[题目] C. Smallest Word [描述] IA有一个由若干个'a'和'b'组成的字符串,IA可以翻转该字符串的任意长的前缀,IA想通过这样的操作得到一个字典序最小的字符串,求一种可能的翻转方案.输出是否翻转长度为k的前缀,k=1,2,...,n,n为该字符串长度. 数据范围:1<=字符串长度<=1000 [思路] 为了把第m+1个字符挪到第1个位置并保持其他字符不动,可以翻转m长的和m+1长的前缀(先后顺序不影响结果).于是,我们可以通过这样的操作把每一个'a'挪到最前面,最后就得…
[题目链接]:http://codeforces.com/contest/821/problem/C [题意] 给你2*n个操作; 包括把1..n中的某一个数压入栈顶,以及把栈顶元素弹出; 保证压入和弹出操作都恰好各n个; 且压入的n个数字都各不相同; 在弹出栈的时候你可以把栈中的元素重新排列; 要求弹出的数形成的数列恰好组成1..n; 问你最少需要重新排列多少次; [题解] 对于每一个remove操作,其实已经能确定接下来要输出的是几了; 在进行重新排操作的时候; 你可以假定自己"很聪明&qu…
[题目链接]:http://codeforces.com/contest/821/problem/B [题意] 当(x,y)这个坐标中,x和y都为整数的时候; 这个坐标上会有x+y根香蕉; 然后给你一条直线的方程y=1mx+b 给你m和b; 让你在这条直线以下选一个长方形; (长方形的边都要和坐标轴平行,见样例图); 然后你可以把整个长方形内的所有点上的香蕉都拿走; 问你最多能拿走多少个香蕉; [题解] 枚举长方形的右竖边的x轴坐标; 可以得到上边的y坐标(当然取最大了); 左竖边当然是x=0了…
[题目链接]:http://codeforces.com/contest/821/problem/A [题意] 给你一个n*n的数组; 然后问你,是不是每个位置(x,y); 都能找到一个同一行的元素q和同一列的元素w; 使得q+w=a[x][y] [题解] O(N4)模拟 [Number Of WA] 0 [反思] 不用考虑会选到a[x][y]本身. [完整代码] #include <bits/stdc++.h> using namespace std; #define lson l,m,rt…
[Link]:http://codeforces.com/contest/828/problem/C [Description] 让你猜一个字符串原来是什么; 你知道这个字符串的n个子串; 且知道第i个字符t[i],在k[i]个位置出现过; 且告诉你这k[i]个位置在哪里; 数据不会产生矛盾; 让你输出最终的字符串,输出字典序最小的那个; [Solution] 对于输入的n个子串; 对于每个位置; 看看那个位置有没有子串之前出现过,没有的话,就放在那个位置; 否则,如果当前这个子串ti的长度比原…
[Link]:http://codeforces.com/contest/828/problem/B [Description] 给你一个n*m的格子; 里面包含B和W两种颜色的格子; 让你在这个格子中画一个正方形; (大小,位置自己选但要求覆盖到所有现有的黑棋子); 然后,把里面的白棋子,染成黑棋子; 问你最少需要染多少个白棋子; [Solution] 先得到一个矩形(这个矩形覆盖所有的黑棋子); 然后枚举所需要的正方形的左上角的位置; 这个正方形必然要覆盖这个矩形; 则这个左上角只能在这个正…
[Link]:http://codeforces.com/contest/828/problem/A [Description] 有n个组按照时间顺序来餐馆; 每个组由一个人或两个人组成; 每当有一个组来餐馆的时候; 按照如下优先顺序安排; ①组内只有一个人的情况 先看有没有空的单人桌,再看有没有空的双人桌,最后看已经有一个人的双人桌 ②组内有两个人的情况 只看双人桌; 如果不能找到符合要求的; 直接拒绝他们的请求; 问:有多少人会被拒绝; [Solution] 注意那里的顺序就好; 另外开一个…