摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5917 即世界上任意6个人中,总有3个人相互认识,或互相皆不认识。 所以子集 >= 6的一定是合法的。 然后总的子集数目是2^n,减去不合法的,暴力枚举即可。 选了1个肯定不合法,2个也是,3个的话C(n, 3)枚
阅读全文
摘要:http://www.ifrog.cc/acm/problem/1137 和差化积公式, 变成2 * sin((x + y) / 2) * cos((x - y) / 2) + sin(n - (x + y)) 然后很重要的一个就是cos(x) = cos(-x) 这样,枚举x + y的取值i,当x
阅读全文
摘要:其实有一个很有用的技巧就是,把gcd = 4的贡献,压去gcd = 2时的贡献,就不需要考虑这么多的了。 为什么可以把gcd = 4的,压去gcd = 2的呢,gcd = 12的,压去gcd = 6的去算呢, 其实这就是mobius的容斥原理,mu[4] = 0,mu[12] = 0, 例如: ht
阅读全文
摘要:https://www.luogu.org/problem/show?pid=2737#sub 先说一个结论:对于两个数p, q,且gcd(p, q) = 1(这个很重要,是条件来的)。他们不能组合成的最大的数字是pq - p - q 任何大于pq - p - q的数字,都能组合得到。 那么,题目中
阅读全文
摘要:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1552 把那n个数写两次,分成相同的两堆,判断相加是质数的,连一条边,然后找最大匹配,ans = 最大匹配 / 2 做的时候一直超时,原来是Miller_Rabin的quick_pow那里需要qu
阅读全文
摘要:http://codeforces.com/problemset/problem/348/B 注意到如果顶点的数值确定了,那么它分下去的个数也就确定了,那么可以暴力枚举顶点的数值。 顶点的数值是和LCM相隔的,LCM就是,比如1有三个子节点,那么1的数值起码都是3的倍数,不然不能整除。 同理,1有三
阅读全文
摘要:http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5564 根据它的定义是行最小,列最大。 可以证明鞍点是唯一的。 单独考虑每一个元素的贡献,它能成为鞍点的情况有: 1、在这一行中,<= a[i][j]的元素肯定要删除
阅读全文
摘要:https://nanti.jisuanke.com/t/14897 描述: L用硬币玩游戏。他在n*m的矩阵中的每个小格中放一枚硬币,他想将所有的硬币都变成正面向上,但是,他给自己增加一些难度,他只能将整行或者整列的硬币都翻面。当然,他一点也不想做无用功,所以,他想知道当前的状态是否能通过一系列操
阅读全文
摘要:http://poj.org/problem?id=2065 题目是要求 如果str[i] = '*'那就是等于0 求这n条方程在%p下的解。 我看了网上的题解说是高斯消元 + 扩展欧几里德。 然后我自己想了想,就用了高斯消元 + 费马小定理。因为%p是质数,所以很容易就用上了费马小定理,就是在除法
阅读全文
摘要:http://poj.org/problem?id=1830 如果开关s1操作一次,则会有s1(记住自己也会变)、和s1连接的开关都会做一次操作。 那么设矩阵a[i][j]表示按下了开关j,开关i会被操作一次,记得a[i][i] = 1是必须的,因为开关i操作一次,本身肯定会变化一次。 所以有n个开
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3359 题目的意思是,由矩阵A生成矩阵B的方法是: 以a[i][j]为中心的,哈曼顿距离不大于dis的数字的总和 / 个数,就是矩阵B的b[i][j] 现在给出B,要求A 那么我们设A矩阵为a[1][1], a[1
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3117 fib是有一个数学公式的。 这里的是标准的fib公式 那么fib = 1 / sqrt(5) * ((1 + sqrt(5) / 2) ^ n - ((1 - sqrt(5)) / 2)^n) = 1 /
阅读全文
摘要:http://lightoj.com/volume_showproblem.php?problem=1282 #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <algorithm> #
阅读全文
摘要:http://acm.uestc.edu.cn/#/problem/show/1544 考虑一下2、2、2这样的情况。答案应该是n / 2 如果只选一个的情况下,对答案的贡献是正的,但是这里有三个,也就是我们统计了3 * n / 2,统计多了。 那么对于任选两个数的情况,有三种,(2, 2) * 3
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5778 这题的意思就是找离x最近的一个数y,且y是一个完全平方数,还是所有质因子都只能出现两次的完全平方数 一开始的思路是直接枚举这个差值,然后去两边找,val - res和val + res找,然后超时了。 其实
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4565 首先知道里面那个东西,是肯定有小数的,就是说小数部分是约不走的,(因为b限定了不是一个完全平方数)。 因为(a - 1)^2 < b < (a ^ 2),所以其不是完全平方数,假如是,那么设其为c,则有a
阅读全文
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1536 首先,要知道值为n的答案,则可以这么去想,知道值为n - 1的答案,然后判断下,前面的数字能不能唯一确定n 然后,如果一个数是单独一个质数的k次方,这样是不能唯一确定
阅读全文
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1548&judgeId=202758 首先,样例都已经知道,不能狂买一种,可能要分开买,第一种x个,第二种y个。 抽象起来,这题可以表达成。设买了红的x个,蓝的y个。 则有:
阅读全文
摘要:http://www.spoj.com/problems/FACVSPOW/ 求解n! > a^n最小的整数n 对于有n!和a^n的东西,一般是取ln 然后就是求解 (ln(1) + ln(2) + .... + ln(n)) / n > ln(a)的最小整数n 发现左边的函数单调,所以可以预处理出
阅读全文
摘要:http://codeforces.com/problemset/problem/337/C 题意是给出n个题目,那个人答对了m道,然后如果连续答对了k道,就会把分数double 求最小的分数是什么。 思路是首先看看n个位置能放下多少个(k - 1),也就是先保证不double 比如8能放下多少个3
阅读全文