[Link]:http://codeforces.com/contest/831/problem/A [Description] 让你判断一个数列是不是这样一个数列: 一开始是严格上升 然后开始全都是一个数字 然后又开始严格下降 [Solution] 枚举中间全部相同的是哪个数字; 假设是i..j这一段 则看看1..i是不是严格上升,以及j+1..n是不是严格下降; 如果所有的这样的i..j都不满足则无解; 找到一组则有解; [NumberOf WA] 0 [Reviw] 找到最特殊的地方: 抓…
[Link]:http://codeforces.com/contest/831/problem/B [Description] 两个键盘的字母的位置不一样; 数字键的位置一样; 告诉你第一个键盘按某个键,在第二个键盘上对应哪个键(大写.小写字母) 然后给你一段由第一个键盘输入的文本,问如果用第二个键盘输入,会输出什么. [Solution] 用map一一对应就好; [NumberOf WA] 0 [Reviw] 这种对应关系的题,map无敌; [Code] #include <bits/std…
[Link]:http://codeforces.com/contest/831/problem/C [Description] 有一个人参加一个比赛; 他一开始有一个初始分数x; 有k个评委要依次对这个人评分; 依照时间顺序依次给出这k个人的评分(可能为负数,负数的时候,表示分数会降低,而如果为正,则分数增加); 然后有一个人记得这k次评分中的n次评分过后这个人的评分; (即知道其中k个评委评完分之后,那个人的k个即时分数) (这k个分数各不相同); 问你x有多少种不同可能; [Solutio…
[Link]:http://codeforces.com/contest/831/problem/D [Description] 有n个人,它们都要去一个终点,终点位于p; 但是,在去终点之前,他们都要先拿到一把钥匙; 钥匙散落在k个位置(k>=n) 然后告诉你n个人的起始位置; 然后每个人,每秒钟移动一个单位长度; 问你最少需要多长时间,可以使得,每个人都拿到钥匙,且都走到终点; [Solution] 把初始位置a数组和钥匙位置b数组,都分别升序排; 假设有一个长度为n的窗口; 用这个窗口,一…
[链接]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] 先得到一个矩形(这个矩形覆盖所有的黑棋子); 然后枚举所需要的正方形的左上角的位置; 这个正方形必然要覆盖这个矩形; 则这个左上角只能在这个正…