上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 83 下一页
摘要: 嘟嘟嘟 一个比较经典的的2-SAT问题。 因为c只有0或1,所以每个数的取值只有0或1. 把每一个点拆点:x0表示x取0,x1表示x取1. 然后分情况连边: 1.x AND y == 0:连(x1, y0), (y1, x0) 2.x AND y == 1:连(x0, x1), (y0, y1)。这 阅读全文
posted @ 2018-10-09 16:54 mrclr 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 大佬们都说这是2-SAT入门题,然而对于刚学2_SAT的本菜鸡来说半天才理解…… 题面:新娘和新郎不能坐在同一侧,妻子和丈夫不能坐在同一侧,有**关系的两个人必须至少一个坐在新娘一侧,问方案。 对于有**关系的两个人x, y,如果x坐在新郎一侧,那么y必须坐在新娘一侧,从而得出y的妻子(丈夫 阅读全文
posted @ 2018-10-09 15:21 mrclr 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 SAT以及2-SAT问题是啥以及定义我就不叨叨了,直接讲怎么求。 比如有一个条件:a || b,就是说a,b必须至少有一个为真。这个可以转化为(!a => b && !b => a),那么就可以连边建图了:首先把每一个点x拆成x和!x,那么对于上述条件,连两条边(!a -> b)和(!b - 阅读全文
posted @ 2018-10-09 13:54 mrclr 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 首先强连通分量缩点。 然后A就是求有多少个如度为0的点,B就是求如度为0的点和出度为0的点的最大值。 特判强连通图的情况。 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cmath> 5 #i 阅读全文
posted @ 2018-10-09 10:01 mrclr 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 求出[L, R]中每一个数的约数再相加必定会超时,所以换一种思路:枚举约数d。 对于一个约数d,能整除他的数可以写成k * d, (1 <= k <= ⌊n / d⌋),因此约数d对答案的贡献是⌊n / d⌋ * d,f(i)表示[1, i]的约数和,那么f(n) = ∑⌊n / i⌋ * 阅读全文
posted @ 2018-10-09 08:49 mrclr 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 L, R很大,所以哪怕用线性筛也会T飞的,但是看到R - L不太大,因此我们可以先筛出[1, √R]所有素数,然后用这些数筛出[L, R]的所有合数。具体做法是对于每一个pi,筛去所有的 i * pi (⌈L / i⌉ <= i <= ⌊R / i⌋)。然后遍历[L, R]的所有素数更新答案 阅读全文
posted @ 2018-10-09 07:20 mrclr 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 做这道题得自己推出这么几个结论…… 1.最大的反素数一定是约数个数最多的的数中最小的那个。 这个其实很好想:根据定义,$g(x)$要大于任意的$g(i)$,而不是大于等于。 2.1~n中任意一个数的不同的质因子不会超过10个,且所有质因子的指数之和不会大于30. 最小的10个质数的乘积刚好大 阅读全文
posted @ 2018-10-08 20:31 mrclr 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 这题竟然暴力就过了…… 在[1, sqrt(b1)]中枚举x,判断x | b1,如果成立,再判断lcm(x, b0) == b1 && gcd(x, a0) == a1,并计数。 复杂度O(n * sqrt(b1) * logb1)。 1 #include<cstdio> 2 #includ 阅读全文
posted @ 2018-10-08 18:00 mrclr 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 偶然看到的这道题,觉得有点意思,就做了。 首先题里说修改后的数列只能出现修改前的数,那么状态之间的转移也就之可能在这些数之间。 令f[i][j]表示第 i 个数改成原序列第 j 小的数时的最小步数。容易得出:f[i][j] = min(f[i - 1][k]) + abs(a[i] - b[ 阅读全文
posted @ 2018-10-08 16:39 mrclr 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 【欧拉函数】 大致题意:如果知道f(a, b),就可以求出f(a * k, b * k)。现给出一个n,求至少需要知道几个二元组(a, b),使所有的f(x, y)都能求出来。(1 <= x, y <= n) 首先能确定的是gcd(a, b) = 1。不妨假设b >= a,那么如果b一定,至 阅读全文
posted @ 2018-10-08 15:30 mrclr 阅读(133) 评论(0) 推荐(0) 编辑
上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 83 下一页