摘要:
"传送门" 题意 给出N,K,给出N对数a[i],b[i],选择一些数使得or和小于k且$max\sum b[i]$ 分析 枚举k的每一个1位,将其删去并让低位全为1,对于每一个这样的数c,如果a[i]|c==c,那么就加上b[i],最后取最大值即可 trick 代码 include using n 阅读全文
摘要:
1.下载sublime text3 2.配置环境变量(windows) 下载Mingw放到C盘,path路径设为 在cmd中输入 或`gcc v`判断路径是否设置成功,path路径在电脑重启后生效 在控制台中加入一下网址的代码 https://packagecontrol.io/installati 阅读全文
摘要:
"传送门" 题意 略 分析 $\sum_i^n(n\%i)=\sum_i^n(n i n/i)=n^2 \sum_i^ni n/i$ $=\sum r\sum_i^ni[n/i==r]$ 可以证明r不会超过$\sqrt n$个,复杂度O($\sqrt n$) 注意乘法爆long long的处理 代码 阅读全文
摘要:
"传送门" 题意 将n个数分成m个集合,$V_i表示max(x y),x,y∈第$i个集合,$求minΣV_i$ 分析 我们先对难度排序,令dp[i][j]表示前i个数分成j个集合的最小费用 转移方程为 $$dp[i][j]=min(dp[k][j 1]+(a[i] a[k+1])^2,dp[i][ 阅读全文
摘要:
"传送门" 题意 给出一个排列,定义$value为\sum_{i=1}^{n 1}abs(f[i+1] f[i])$ $swap(a[i],a[j])(i≠j)为一次交换$,询问最少的交换次数使得value最大 分析 如果f[i+1] f[i],答案就+f[i+1] f[i]; 如果f[i+1]n/ 阅读全文
摘要:
"传送门" 题意 分析 我们发现该数列遵循下列规律: 1 1,2 1,2,2 1,2,2,2,3 1,2,2,2,3,2,3,3 我们令A[i]表示f[i]开始长为f[i 1]的i的最短表示和 那么得到A[i]=A[i 1]+A[i 2]+f[i 2] 那么先预处理出每一段和A[i],i不会超过84 阅读全文
摘要:
"传送门" 题意 分析 即求ax+by=n+1的所有正整数对解 我们可以求出最小的x 然后每lcm(a,b)个数,又满足ax+by==n+1 且 x,y均为整数 所以就是裸的扩展欧几里得算法了 对上述做一些说明 1.如何求最小的x? 做一遍ex_gcd(a,b,x,y),得到x,y,让x±(b/gc 阅读全文
摘要:
"传送门" 题意 给出n种物品,抢救第$i$种物品花费时间$t_i$,价值$p_i$,截止时间$d_i$ 询问抢救的顺序及物品价值和最大值 分析 按$d_i$排序的目的是防止以下情况 4 8 100 1 2 100 不排序只能选择第一个物品 (请仔细思考) 那么排序后做一遍背包, 排序后选择顺序必定 阅读全文
摘要:
"传送门" 题意 略 分析 有以下结论 $1.(x,y) (y,x)$ $2.(x,y) (a,b)== (a,b) (x,y)$ "证明" 做如下变换 $(a,b) (a b,b) (a 2b,b) ... (a nb,b)(n=a/b)$ 等效于 $(a,b) (a\%b,b) (b,a\% b 阅读全文
摘要:
"传送门" 题意 略 分析 求一个凸包即可 1.所有点在凸包上且点数 3,令凸包上第1,3点为'A',其余点为'B' 2.部分点在凸包上,令凸包上点为'A',其余点为'B' 3.无可行情况 附代码 include using namespace std; typedef long long LL; 阅读全文