08 2018 档案
摘要:逆时针给出n个点,这n个点形状构成正n边形 给出矩阵,表示任意两点间是否允许有边,求问有多少种连边的方法使这n个点构成一颗树,且线段两两不在除这n个点外的地方相交 显然当i和j相连,线段将剩余的点划分为线段的左右两个部分,自然联想到使用区间dp 以dir[i][j]表示将i到j间的所有点构成一棵树,
阅读全文
摘要:有N颗树,第i颗树上有$c_i$只鸟,召唤师每召唤一只该树上的鸟,法力上限增加B(常数),消耗法力$cost_i$ 召唤师从第1颗树到第N颗,每到一棵树回复法力值X,求最多召唤多少只鸟 input: $n, W, B, X(1 \leq n \leq 10^3, 0 \leq W, B, X, \l
阅读全文
摘要:类型为含有多个禁止位置的路线问题 h行w列矩阵,从左上角出发,只能向右或下走,且有n个禁止位置,求到右下角的路线数 $1 \leq h, w \leq 10^5, 1 \leq n \leq 2000$ 容斥,对禁止位置排序,考虑到达第i个禁止位置的不经过其他禁止位置的路线,它可以通过容斥,用前i
阅读全文
摘要:给定N,和N个数,求选出一个集合,使集合内的数和为N的倍数。 若解不存在,输出No Solution 其实解必存在,因为你任取N个集合,模N的结果一定有一个为0或者出现重复结果。 如果我们选取集合时是往集合内添加数,那么对于出现重复结果的情况,两种情况间加进的数的和为N的倍数 lang:cpp in
阅读全文
摘要:对于积性函数,设f(n)可乘,则 $$F(n)=\sum _{d|n}f(d)=\prod _{p^\alpha ||n}(1+f(p)+...+f(p^\alpha ))$$ 证明有点懒得打 那么$$\sigma (n)=\sum _{d|n}d=\prod _{p^\alpha || n}(1+
阅读全文
摘要:题意:武器有一个能力值$S_i$和K个属性值$X_i$,要求从主武器,副武器两个集合中各挑选一把使得评分最高。评分的指二者的S值之和,及二者各项属性值的差的绝对值的和 分析:在做这道题前,可以先考虑POJ 2926 求的是5维的n个点最远点对的距离 我们先从只有一维的情况考虑起。只需要获得该维的最大
阅读全文
摘要:给定一个序列,问这个序列是否能够构成一个二叉搜索树,使得任一边连接的点的gcd大于1 区间dp lang:cpp include include include using namespace std; typedef long long LL; const int maxn = 710; int
阅读全文
摘要:要求构造n行m列的矩阵,使得每一行的数值异或结果分别为$a_i$,每一列的数值异或结果分别为$b_i$。 解:第一行为$b_1,b_2...b_m$第一列为$a_1,a_2,...a_n$最后将左上角修改为$a_1\oplus b_2 \oplus b_3 ... \oplus b_m$ lang:
阅读全文
摘要:POJ 1273 模板题 1 #include <vector> 2 #include <cstdio> 3 #include <cstring> 4 #include <queue> 5 #include <algorithm> 6 #define INF 0x3f3f3f3f 7 using n
阅读全文
摘要:HDU 1792 给了两个互质的数A,B,求不能用Ax+By(x =0,y =0)表示的最大的数和不能表示的数的个数 传送 HDU 2866 Special Prime 指存在n,m $n^3+p \cdot n^2=m^3$的素数p 求不大于L的Special Prime的个数 传送 HDU 10
阅读全文
摘要:题意有个大小n*m(两个数都不大于10的12次幂)的表格,table[i][j]的值为gcd(i, j)。给出k(<=10000)个数 判断这个序列是否在表格中的某一列出现过 考虑解满足的条件 显然行必须为序列中所有数的倍数,那么我们先考虑最小公倍数 此时对于列,有 y % a1 == 0; (y
阅读全文
摘要:测试了Miller_Rabin和pollard_rho 题目里这个g(n)是有结论的,但我搞不太懂 最后f(n)/g(n) = (p1 + 1)(p2 + 1)...(pk + 1)
阅读全文
摘要:POJ 1410 判断线段交和点在凸包内 1 #include <cstdio> 2 #include <algorithm> 3 #include <cmath> 4 #define MP make_pair 5 using namespace std; 6 typedef long long L
阅读全文

浙公网安备 33010602011771号