[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 尺取法+二分. 类似滑动窗口. 即左端点为l,右端点为r. 维护a[r]-a[l]+1总是小于等于m的就好. (大于m就右移左端点) 然后看看里面的数字个数是不是小于k; 不是的话让l..r中最右边那个数字删掉就好. ->链表优化一下即可. [代码] /* 1.Shoud it use long long ? 2.Have you ever test several sample(at least therr) yourself…
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟 [代码] /* 1.Shoud it use long long ? 2.Have you ever test several sample(at least therr) yourself? 3.Can you promise that the solution is right? At least,the main ideal 4.use the puts("") or putchar() or printf…
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 可以直接一层循环枚举. 也可以像我这样用一个数组来存y*b有哪些. 当然.感觉这样做写麻烦了.. [代码] /* 1.Shoud it use long long ? 2.Have you ever test several sample(at least therr) yourself? 3.Can you promise that the solution is right? At least,the main ideal…
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 用map<string,vector > dic;模拟就好. 后缀.翻转一下就变成前缀了. 两重循环剔除这种情况不输出就好. [代码] /* 1.Shoud it use long long ? 2.Have you ever test several sample(at least therr) yourself? 3.Can you promise that the solution is right? At least,…
[链接]h在这里写链接 [题意] 定义bad list是一个非空的.最大公约数为1的序列.给定一个序列,有两种操作:花费x将一个元素删除.花费y将一个元素加1,问你将这个序列变为good list所需要的最小花费是多少. [题解] 枚举gcd为i. 这里的枚举,并不是说确切这些数字的gcd就是i; 而是枚举这些数的gcd是i的倍数. 这样的话,每个数字都必须是i的倍数. (然后,我们只要贪心地让每个数都变成i的倍数就好了,最近的i的倍数,这样肯定是最优的) (最后gcd到底是多少,并不重要,只要…
[题目链接]: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] 先得到一个矩形(这个矩形覆盖所有的黑棋子); 然后枚举所需要的正方形的左上角的位置; 这个正方形必然要覆盖这个矩形; 则这个左上角只能在这个正…