上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 36 下一页
摘要: 题目链接 题目大意 题目思路 前缀知识 积性函数指对于所有互质的整数a和b有性质$f(ab)=f(a)f(b)$的数论函数。 直接快速幂会nlogn会t 那么显然就要优化一下 令$f(x)=x^n$ 显然$f(a*b)=f(a)*f(b)$ $f(x)$为完全积性函数则求出所有质因子的$f(x)$, 阅读全文
posted @ 2021-01-31 22:39 hunxuewangzi 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你一颗树(n<=100) 要你给点赋权值,如果x|y=\(2^{60}-1\) 则代表x和y有边 题目思路 只要没有回路的图都可以看作是一个二分图 把这个想成二分图染色 想成白点和黑点(白点个数<黑点个数) 白点的第59位为0,以及白点的id位为0,给每个白点赋值一个不同的id,其他位白 阅读全文
posted @ 2021-01-31 20:54 hunxuewangzi 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 求有多少个连续的数相加等于n \(1<=n<=1e12\) 题目思路 定义sum[l,r]=l+(l+1)+.....(r-1)+r 首先假设所有连续的数都是正数,那么为sum[l,r]=n,那么显然sum[-l+1,r]=n 然后直接枚举长度len,那么sum[1,len]可以 阅读全文
posted @ 2021-01-31 15:00 hunxuewangzi 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你n个宝石,有m对(a[i],b[i])关系,以及k种必须出现的宝石 你要保证出现k种必须出现的宝石(每种宝石>=1即可),且出现的宝石要满足m对关系的两两相邻 求最少的宝石数,不满足则直接输出-1 \(1<=n<=1e5\;\;0<=m<=1e5\;\;1<=k<=17\) 阅读全文
posted @ 2021-01-31 14:51 hunxuewangzi 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你n个点你对这n个点进行m次操作 操作有四种 第一种使得所有点nx=y ny=-x 第二种使得所有点nx=-y ny=x 第三种使得所有点nx=2p-x ny=y 第四种使得所有点nx=x ny=2p-y 有q次查询 每次查询为b位置经过a次操作后的坐标 题目思路 这个就是每个 阅读全文
posted @ 2021-01-28 00:29 hunxuewangzi 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你一个n*m的方格图,中间有k个障碍,要你求从左下角到右上角有多少种方案mod 998244353 题目思路 这个题目真是很oi...... 首先$max(n,m)<=1e3$ 直接$O(N^2)dp$ 如果方格数量很多,观察障碍物很少,则可以想到容斥的思维 然后再用组合数学预 阅读全文
posted @ 2021-01-27 15:20 hunxuewangzi 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你两个01n*n矩阵(n<=1e3) a,b 你可以对a进行任意横和列的异或操作 即可以对a的任意行和任意列进行整体对1异或操作 判断是否可以将a矩阵变成b矩阵 题目思路 其实很简单。。。 很明显,操作的顺序不会影响最终的结果,而且多次同一个操作也没有意义(通过xor的属性) 阅读全文
posted @ 2021-01-26 10:12 hunxuewangzi 阅读(248) 评论(1) 推荐(0) 编辑
摘要: 题目链接 题目大意 题目的意思就是一个序列本来是0,1,2...n-1.然后要你变成p[0],p[1],p[2]...p[n-1],通过交换相邻的两个数每两个相邻的数都可以交换一次,你可以选择交换的顺序.问你有多少种交换顺序? 题目思路 有两种方法,一种复杂度$O(n5)$ 一种复杂度$O(n3)$ 阅读全文
posted @ 2021-01-25 22:43 hunxuewangzi 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 把n个数分为m组 每一组相当于一个新的数,为这组所有数之和 求这m个数的均方差最小 \(m<=n<=20,2 <=m <= 6\) 题目思路 本来我一直是把数大的先放,然后数小的后放,疯狂贪心 结果还是只能过60% 其实可以直接随机数组,然后贪心 每次直接放在最小的那个组里面 因 阅读全文
posted @ 2021-01-25 13:24 hunxuewangzi 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 注意石子可以摆到两边 则一个石子可以为a[i] 0 -a[i] 则背包直接背就行 把初始重量直接变成1e4 代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e2+5; int n,k; int a[m 阅读全文
posted @ 2021-01-24 20:59 hunxuewangzi 阅读(79) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 36 下一页