关闭

春思

题目大意求a^b的约数和。基础题分解出a的质因数即可,然后算等比数列和可以倍增。#include #include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; typedef long long ll; const int mo=9901; ll i,j,k,l...
阅读(62) 评论(0)

[LibreOJ β Round #4]求和

题目大意∑ni=1∑mj=1μ2((i,j))\sum_{i=1}^n\sum_{j=1}^m\mu^2((i,j))反演∑ni=1μ(i)∗∑n/id=1μ2(d)∗(n/id)∗(m/id)\sum_{i=1}^n\mu(i)*\sum_{d=1}^{n/i}\mu^2(d)*(n/id)*(m/id) 可以发现后面在容斥,结果是(n/i/i)∗(m/i/i)(n/i/i)*(m/i/i)...
阅读(110) 评论(0)

[LibreOJ β Round #4]框架

题目描述有一个n×m的矩形框架,但其中有些边被删除了。qmqmqm想知道剩余部分中还有多少完整的正方形。只有当一个正方形的每一条边均被保留下来,这个正方形才是完整的。做法先预处理每个位置往四个方向的最远扩展长度。 枚举一条对角线,正方形的两个相对端点在该对角线上。 一个点作为左上角有一定修改范围,一个点作为右下角也有一定查询范围,可以用树状数组维护。#include #inclu...
阅读(84) 评论(0)

[LibreOJ β Round #4]子集

题目大意给你一个集合,请选出一个子集,使得两两元素的gcd或分别+1后的gcd至少一个不等于1,最大化子集的大小。最大团看起来是个最大团模型,裸上random_shuffle+greedy可过。#include #include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace s...
阅读(73) 评论(0)

[LibreOJ β Round #4]多项式

题目大意构造一个不超过6w次的非0多项式,使得每项系数是非负数且小于k,并使得任意数x代入后模k=0。扩展欧拉定理我们知道了扩展欧拉定理。 那么可以直接构造x2∗ϕ(k)−xϕ(k)x^{2*\phi(k)}-x^{\phi(k)}#include #include #define fo(i,a,b) for(i=a;i<=b;i++) #define fd(...
阅读(73) 评论(0)

[LibreOJ β Round #4]游戏

题目大意一个含数字和X的序列。 两方轮流操作,每次在X里填入一个实数。 当X全部被填完时,根据序列逆序对的奇偶性判胜负。 问谁必胜。做法没有X的时候用数据结构求逆序对即可。 有X的时候,先特判n=1。 然后假设两人随便填,最后一个人填最后一个X时,假设最小数当前是t,显然他在这个位置填t+eps或t-eps可以使逆序对奇偶性不同。 他能直接获胜。 因此此时判断X个数的奇偶性即可。#in...
阅读(76) 评论(0)

[hdu6063]RXD and math

题目大意给你一个数学式子,要求计(zhao)算(chu)出(jie)来(lun)。显然任意数可唯一表示成a^2*b,其中μ(b)=1\mu(b)=1 式子相当于在枚举b,后面乘的系数是a的范围。 那么每个数都被算一次,答案是n^k。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using name...
阅读(113) 评论(0)

[hdu6105]Gameia

题目大意有一颗n个节点的树,每个节点初始没有颜色。A和B玩游戏,A先手。B有k次小动作,可以在游戏进行的任意时刻使用(可以在A操作前后使用,一次性可以使用多次),每次小动作他会选择切掉一条树边。 两人轮流操作,A每次将一个无色点染白,B每次将一个无色点染黑并将相连点染黑(即使已经有颜色)。当不能操作后,如果存在被染白的点,A胜,否则B胜。双方绝顶聪明,问谁胜。博弈题先给出的结论: 该树如果有完美...
阅读(123) 评论(2)

func

题目大意f(1)=1,f(2i)=f(i),f(2i+1)=f(i)+f(i+1)。 求f(m)=n的所有m。考虑如何计算一个f(m),先拆二进制位。 用f0和f1表示后面的位做完用多少进位和不进位。 我们只考虑最后一位是1的也就是奇数,那么初始f0=f1=1。 考虑一位上是1因为f(2i+1)=f(i)+f(i+1),所以我们将它减半后可以选择+1。 那么当一位是1时,如果后面没有进位,...
阅读(102) 评论(0)

merge

题目大意将两个排列随意归并,求能得到多少本质不同的序列。DP直接转移会算重。 手玩+感受一下发现容斥系数是卡特兰数。 详见代码。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; typedef long long ll; const int maxn=2000...
阅读(108) 评论(0)

[bzoj4934]kangroo

题目大意有一个园子,里面有n个草丛排成一排,标号1~n,有一个袋鼠,从s出发,每次跳一步跳到一个其他的草丛,经过 每个草丛恰好一次,最终到达t。显然他会跳跃n-1次为了不被人类发现,袋鼠每次跳跃的方向必须与前一次不同, 具体地,如果他现在在now,他是从prev跳跃一次到达now的,然后他跳跃一次到达next,那么如果prev<nowprev<now,就必 须有now<nextnow<next...
阅读(89) 评论(0)

Sequence

题目大意有两个序列a和b。 每次询问将一个区间a值排名在[x,y]的中找一个b值第k小。做法用主席树将排名的x和y变成具体的值。 接下来可以根据b整体二分,其余部分可以拆区间+扫描线+数据结构完成。#pragma GCC optimize(2) #include #include #define fo(i,a,b) for(i=a;i<=b;i++) usi...
阅读(85) 评论(0)

Create

题目大意一个序列,有很多询问,每个询问要问区间>=x的数的个数。 现有若干修改操作,区间赋值,每次修改后请你将所有询问得到的答案和输出。颜色段均摊分析颜色段! 可以用set维护颜色段。 然后只需要考虑一个区间全部由x变成y产生代价。 先把询问按x排序做可持久化线段树,然后就很好做。#pragma GCC optimize(2) #include #include<algori...
阅读(80) 评论(0)

[bzoj4936]Match

题目大意给你一个小写字母字符串。 请构造一个合法括号序,使得匹配的括号在原串中字母相同。 要求字典序最小,且要求判断无解。暴力我们考虑如何判断无解。 你考虑一个栈,顺序扫这个字符串。 假如当前字符和栈顶字符相同消除栈顶字符,否则将这个字符加进栈中。 这可以得到一个合法解,且我们可以证明任意解可以变成这个合法解。 这就是无解判断。 字典序最小的暴力也很简单。一些性质我们设f(l,r)=0...
阅读(194) 评论(3)

神奇的玩具

题意一副无向图,第i条边连接ai和bi。现在你需要选择恰好k个点,对于第i条边,你必须让ai和bi至少一个被选择,如果ai被选择,付出pi的代价,否则付出qi的代价(pi<=qi),求最小代价。搜索可以发现pi是必然代价,qi-pi就是附加代价。 于是产不产生代价只与ai是否没有被选,这方便我们加上最优性剪枝。 一个不选会导致一堆必选。 判掉度数为0和自环,我们可以发现T(n)<=T(n-1)...
阅读(96) 评论(0)
714条 共48页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:233961次
    • 积分:9576
    • 等级:
    • 排名:第1938名
    • 原创:710篇
    • 转载:4篇
    • 译文:0篇
    • 评论:185条
    最新评论
    文章分类