摘要:http://agc019.contest.atcoder.jp/tasks/agc019_b 一开始的做法是, 用总数减去回文子串数目,因为回文子串怎么翻转都不影响答案。 然后,如果翻转afucka,那么和翻转fuck,得到的串是一样的。 但是如果是先是用total - 回文子串数目,再减去afu
阅读全文
摘要:http://codeforces.com/gym/100085/attachments 因为那个数字是一个质数,这样的猜的次数是最多的,所以至少是质数次。 但是如果需要猜2、3,那么可以直接猜6,也能达到猜2和3的效果。 想要猜7、11,那么可以猜77,会产生gcd = 7的有7、49、77,gc
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5172 判断一个区间是否为全排列是: 1、区间总和 = (1 + R - L + 1) * (R - L + 1) / 2; 2、区间没有重复数字 记录数组a[i]表示第i个数上一次在那个位置出现。 那么最需要在[
阅读全文
摘要:http://codeforces.com/problemset/problem/527/C 这题总体思路就是,每画一条线,然后就找到x间距的最max值和y间距的最max值,相乘就是当前的ans 那么我需要维护这样的一个数列,每次往里面添加一个元素,然后查询相邻两个元素的差值的最大值。 倒着做比较简
阅读全文
摘要:http://codeforces.com/contest/831/problem/C 做的时候想不到,来了个暴力。 对于每个b[i],枚举每一个a[i],就有1个可能的情况。 然后用vector存起来,再判断。理论复杂度爆咋,过了综测717ms 正确的思路就是排一个序。 预处理前缀和suma_i,
阅读全文
摘要:http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5564 根据它的定义是行最小,列最大。 可以证明鞍点是唯一的。 单独考虑每一个元素的贡献,它能成为鞍点的情况有: 1、在这一行中,<= a[i][j]的元素肯定要删除
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5778 这题的意思就是找离x最近的一个数y,且y是一个完全平方数,还是所有质因子都只能出现两次的完全平方数 一开始的思路是直接枚举这个差值,然后去两边找,val - res和val + res找,然后超时了。 其实
阅读全文
摘要:http://codeforces.com/contest/776/problem/D 注意到每扇门都有两个东西和它连接着,那么,如果第i扇门的状态是1,也就是已经打开了,那么连接它的两个按钮的状态应该是一样的,也就是必须是同时按,或者同时不按。然后0的话就是关闭的,所以连接它的两个按钮应该是一个按
阅读全文
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1625&judgeId=203076 一开始的时候,还想着枚举每一行的总和,和每一列的总和,然后选一个最小的来变就好。 然后wa了,只剩下一组数据,然后看到还是大数据,调试不
阅读全文
摘要:http://codeforces.com/contest/768/problem/C 这题的数值大小只有1000,那么可以联想到,用数值做数组的下标,就是类似于计数排序那样子。。 这样就可以枚举k次操作,然后for (int i = 0; i <= 1025; ++i),也就是O(1000 * k
阅读全文
摘要:http://codeforces.com/contest/768/problem/B 我的做法是,观察到,只有是x % 2的情况下,才有可能出现0 其他的,都是1来的,所以开始的ans应该是R - L + 1 那么现在就是要看那些是x % 2的,然后放在的位置是属于【L, R】的,有多少个0,减去
阅读全文
摘要:http://codeforces.com/gym/101257/problem/G 首先要看到题目,题目是本来严格大于score[i] > score[j]。然后score[i] < score[j],的才算做是贡献。 然后这题需要一个小观察,就是只有低分的,不fail,然后高分的,fail了,才
阅读全文
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1247 问能否从(a, b)走到(x, y) 也就是能否从终点走到起点。 然后发现依次经过(a, a - b) (a - b, b) (a, a + b)就可以调换a和b的位
阅读全文
摘要:http://codeforces.com/contest/764/problem/C 题意:在n个顶点中随便删除一个,然后分成若干个连通子图,要求这若干个连通子图的颜色都只有一种。 记得边是双向的,wa15的可能是不知道边是双向的吧。 一个观察:如果某条边连接的两个顶点的颜色不同,那么可以看看删除
阅读全文
摘要:https://www.codechef.com/problems/MTRNSFRM 我只能说codechef的题好劲爆,这题居然是easy的题,太可怕了。而且还有一点就是codechef的题解很难看懂╮( ̄▽ ̄")╭ 这题可以这样做,首先把两个矩阵合并在一起,然后就是变成了在一个矩阵C中,操作行和
阅读全文
摘要:https://leetcode.com/contest/leetcode-weekly-contest-16a/problems/find-permutation/ 设原本的数字是0,那么按照它的DI来模拟,D就减1,I就+1 比如DDIIDI,就是0、-1、-2、-1、0、-1、0 那么找到第一
阅读全文
摘要:http://codeforces.com/contest/758/problem/C 需要一个能够找到任意一个位置的步数的方法,就能解决三个问题。 预处理出one(row, col)表示第一次经过这个点,需要的步数。 sec(row, col),thr(row, col)分别是第二、三步。 那么,
阅读全文
摘要:https://www.hackerrank.com/contests/101hack45/challenges/the-chosen-one 找出一个数字,使得,数组中只有一个数字不是这个数的约数,而且其他数都是这个数的约数。 如果暴力枚举每一个i,表示,就是要排除这个数字,那么,需要找到一个数能
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4104 一开始还以为这题是背包,然后优化下这个背包,但是一直都优化不出来。 然后题解是直接模拟而已,唉 先从小到大排序后 设【L, R】表示前i个数能组合成这个区间里面的任何一个数。 那么,枚举一个数a[i + 1
阅读全文
摘要:http://codeforces.com/contest/752/problem/C 这题的意思其实就是叫你固定x个点,使得按顺序走这x个点后,产生的轨迹是给定的序列。 对于有若干条最短路径走到第i个点,这些情况可以忽略,就是你可以默认走的是任意一条最短路径。 对于一个序列,可以固定两个方向,只要
阅读全文