
数论
文章平均质量分 59
.
美少女zss
ccpc绵阳铜,icpc西安银,jscpc江苏金。
展开
-
CFDiv2-Wish I Knew How to Sort-(期望)
就是给你一个都是0和1的数组,然后每次随机选择两个不同的位置i原创 2022-10-27 18:31:27 · 510 阅读 · 0 评论 -
CFdiv2-Pie Rules-(线性dp+博弈状态转移)
就是给你n个数字,Alice和Bob玩一个游戏,首先有个特权,这个特权就是可以让当前的值给自己或者给对方,如果给自己,那么特权转移到对方,如果值给对方,那么特权还是自己的。现在Bob先有特权,问你每个人的得分是多少,当然每个人都会按照自己得分最高的情况去拿。多多思考,多多把dp的转移,和博弈的状态想清楚。原创 2022-10-20 21:09:24 · 148 阅读 · 0 评论 -
牛客月赛17-计数-(组合数+球盒问题)
J题意:给你一个数组,这个数组是单调不增的,但是有些位置的数丢失了,现在问你合法的数组一共有多少个,对1e9+7取模。同时数组中的每个数都是1到1000。思考:刚开始看着像dp,感觉不太好做,其实呢主要是还是对球和盒子问题不太熟悉。这个题就是球和盒子问题,比如9 0 0 7,那么可以放的数是9 8 7,一共3个,然后有两个0也就是2个球,那么就是2个求放到3个盒子里,盒子可以空,问你有多少种放法。这就是球和盒子的经典问题C(n+m-1,m-1)。代码:int T,n,m,k;int va[N]原创 2022-02-27 14:25:08 · 171 阅读 · 0 评论 -
2022杭州-IHI‘s Homework-(组合数+球盒问题)
然后给你k次询问,每次询问把第a个数变成b后,这x个未知数有多少种不同的分配方案。,和一个数字s,然后这n个未知数的和原创 2022-10-06 20:19:39 · 215 阅读 · 2 评论 -
洛谷-纯粹容器-(概率期望+组合数+容斥)
就是给你n个容器,每个容器一个强度,小A会进行n-1次操作,每次随机选择两个相邻未被击倒的容器进行决斗,强度低的会被击倒并移除队伍。现在问你每个容器存活的轮数的期望。多多积累经验,多多思考。原创 2022-09-15 21:43:14 · 449 阅读 · 0 评论 -
洛谷-矩阵快速幂-(矩阵加速整理)
给你一个数列a,1原创 2022-09-13 17:21:16 · 402 阅读 · 0 评论 -
2022CCPC网络赛
就是给你一段区间a到b,和权值c,然后问你有多少x,使得区间[a,b]中所有是x的倍数的数组成了一个集合set,然后这个集合的所有子集的价值总和 = c。一个集合的价值就是集合内所有数的和。然后T组测试,T=100,1 ≤ L ≤ R ≤ 1e12,1原创 2022-09-13 12:18:01 · 638 阅读 · 1 评论 -
Acwing-Hankson的趣味题-(dfs求因子+质数,因子,数字大小的各种关系的整理)
就是给你多组测试样例,每次给你a0,a1,b0,b1,让你找出有多少不同的x,满足gcd(a0,x)=a1并且lcm(b0,x)=b1。n/ln(n) = 1e7,对于枚举出的因子一共T。以后最好搞懂那些优化复杂度的各种算法。log(n),加起来就是O(T。原创 2022-09-12 22:32:34 · 278 阅读 · 2 评论 -
CF-Letter Picking(区间dp+博弈论)
给你一个长度2000的字符串。然后每个人轮流每次从字符串的头或者尾取一个字符,然后添加到自己的字符串的前面。如果字符拿完了就停止,如果谁的字符字典序小谁赢,输出谁赢,或者平局。多tm思考思考,把所学的知识结合起来,多动手看看,翻翻博客。原创 2022-09-11 20:41:54 · 523 阅读 · 0 评论 -
2020绵阳-Game of Cards-(博弈论+搜索)
就是给你0,1,2,3,这四个数的个数。然后你每次可以选择两个数加起来,不过加起来的值要原创 2022-09-08 15:46:59 · 452 阅读 · 0 评论 -
CFdiv2-Playlist for Polycarp-(二进制枚举+组合数+记忆化搜索或者暴搜)
就是给你n个音乐,每个音乐有个时间和曲调。然后一共总时间为m,现在问你有多少种不同的组合使得选择的音乐总时间为m,并且任意两个音乐之间的曲调不能相同。数据范围都很小,同时取模。多多简化问题,把复杂的问题简单化多多思考。原创 2022-09-07 13:34:00 · 116 阅读 · 0 评论 -
ABC-Throwing the Die-(期望递推+可取最大值的期望)
就是给你一个筛子,然后你最多可以晒n次,比如你第i次晒到x,你停止得分为x,要么继续抛。小A会尽量让自己的得分值最大。问你这个最大值的期望是多少。多多积累模型吧,遇到的模型越多越好。原创 2022-09-06 21:47:36 · 284 阅读 · 0 评论 -
洛谷-Fish-(概率+状压dp)
就是给你n原创 2022-09-04 17:25:04 · 253 阅读 · 0 评论 -
洛谷-收集邮票-(期望dp+期望的平方+平方的期望)
就是有n种邮票,小A去买,每次随机得到其中一张,第k次购买需要k元钱,问你小A获得n种邮票花的钱的期望。原创 2022-09-02 21:03:09 · 401 阅读 · 0 评论 -
洛谷-osu-(期望dp+两个期望一起推)
所以可以维护两个数组,dp[i]为到第i个点,可以产生的贡献,tp[i]为以i为结尾的时候连续o的期望长度。那么s[i]=o,dp[i] = dp[i-1]+(tp[i-1]+1)就是给你一个字符串,要么是o,x,?那么有1/2是x有1/2是o。现在定义一段连续长度为len的o,产生len*len的贡献,现在问你贡献的期望是多少。多多积累方程的转移。原创 2022-09-01 17:48:49 · 126 阅读 · 0 评论 -
洛谷-Bag of mice-(期望dp+记忆化搜索)
就是有a个白老鼠和b个黑兔子,每次小A随机拿一只,如果是白色的,小A赢了。然后小B拿两只,如果最后拿完小A都没拿到白老鼠,那么小B赢了。原创 2022-09-01 15:37:42 · 181 阅读 · 0 评论 -
2020长春-Strange Memory-(启发式合并+位运算)
给你一个树,每个点有个权值原创 2022-08-31 19:51:34 · 188 阅读 · 0 评论 -
洛谷-绿豆蛙的归宿-(期望dp+经典转移+基础慨率正推)
就是给你一个有向无环图,每条边有一个权值,然后从1号点出发,每次会等概率的走到其中一个有边的点,问你走到n点期望路径长度是多少。原创 2022-08-31 12:47:30 · 249 阅读 · 0 评论 -
洛谷-Vasya and Magic Matrix-(期望dp+欧几里得距离式子)
就是给你一个n✖m的矩阵,每个点有个值,给定一个出发点,每次可以等概率的移动到一个权值小于当前点权值的点,同时得分加上两个点之间欧几里得距离((x1-x2)×(x1-x2)+(y1-y2)×(y1-y2))的平方,直到走到不能能走为止,问你分数的期望。多推推式子,转化题目的处理方式。对于处理一段区间的平方数什么什么的,都是有公式的一般。...原创 2022-08-31 10:40:53 · 260 阅读 · 1 评论 -
洛谷-游走-(期望dp+拓扑)
P6154题意:就是给你一个n点m边的有向图无环图,可能存在重边,然后小A会随机选择一条路径,都是等概率的,路径的起点和终点可以相同。问你小A走的路径长度的期望,同时对998244353取模。思考:代码:总结:注意细节。...原创 2022-08-30 10:56:21 · 249 阅读 · 0 评论 -
百度之星-逃离这棵树-(期望dp)
就是给你一个树,然后每个点有一个权值,每条边也有权值。刚开始在1号点,有p1概率停在这个点,pi概率走到儿子节点。如果走到叶子节点那么就停止,现在问你停止的期望时间。多推一推式子,写一些就可以了。...原创 2022-08-29 10:07:44 · 566 阅读 · 3 评论 -
牛客多校-Shannon Switching Game-(博弈+递推必胜态)
就是给你n个点m条边,然后给你一个初始点st,和一个好点ed。小A和小B轮流操作,小B先操作。如果现在在a点,那么小B可以让一条和a点相连的边删掉。如果现在在a点,那么小A可以选择一条边走过去,并且删去这条边。现在问你当两个人都没法操作的时候,小A是否可以经过好点ed。多多思考,多想想以前的模型。原创 2022-08-20 18:48:13 · 396 阅读 · 0 评论 -
牛客多校-Wheel of Fortune-(球盒问题+组合数)
就是给你小A的血量和小A的7个手下的血量,再给你小B的血量和小B的7个手下的血量。每次随机选择一个血量>0的人,然后让他的血量减10,如果小A或者小B的死了,游戏停止。问你小A获胜的概率是多少。多多思考,排东西或者放东西的时候,尽量要多想想球和盒子模型。原创 2022-08-20 18:27:39 · 1031 阅读 · 0 评论 -
牛客多校-Zero-chan-(树上乘除+递推+因子)
然后m次查询,每次问你f(x)的后缀0的个数。给你一个树,然后定义。莫慌,看准仔细推理。原创 2022-08-17 15:15:29 · 380 阅读 · 0 评论 -
杭电多校-Shortest Path in GCD Graph-(二进制容斥+优化)
就是给你n个点,任意两点有条无向边权值是gcd(i,j)。现在m次查询,每次问你a和b的最短距离是多少,这个最短距离的路径有多少个。多多思考,多多优化,能优化到多少优化到多少。原创 2022-08-16 22:05:54 · 365 阅读 · 0 评论 -
牛客多校-Two Frogs-(期望dp+枚举方式优化dp)
就是现在有n个荷叶,你在第i个荷叶上可以跳到[i+1,i+va[i]]这段区间的荷叶上。当你跳到最后一个荷叶上就结束了。现在小A随机的跳,小B也随机的跳,问你他俩跳到n号荷叶上用的相同步数的期望。多多思考,类比推理。......原创 2022-08-15 14:40:43 · 260 阅读 · 0 评论 -
CFdiv2-Beautiful Mirrors-(期望)
就是有n个魔镜,小A每天都会问镜子,每个镜子说小A美丽的概率为p[i]。如果这个镜子说自己很美,那么下一天会问下一个镜子,如果没有下一个镜子了,那么这一天小A就很开心并且就停止了。如果说小A不美,那么小A下一天会从第一个镜子重新问。问你小A停止的时候天数的期望是多少。多多思考,掌握本质。...原创 2022-08-10 18:04:50 · 200 阅读 · 0 评论 -
杭电多校-Counting Stickmen-(思维+组合数+容斥)
n,任选两个其实是选这个点以及他后面的,不能再看前面的了,这样就重复了,既然是看后面的,就维护一个后缀和倒着处理就好了),然后不能选a子树作为手臂的情况就是 = 总方案数-选a子树作为手臂的方案数。说到这里,我就感觉差不多了,就是这样的。然后思考了一下,如果我遍历树的时候,枚举到now点了,那么我可以让now当脖子,now父亲当头,然后从儿子里选取两个子树作为手臂再选一个子树作为身子就可以了。红色标注的就是的,就是2是头,3是脖子,5是身体,7和8是两个腿,4 6是其中一个手,9 10是另一个手。.....原创 2022-08-09 15:21:05 · 515 阅读 · 0 评论 -
牛客多校-Z-Game on grid-(博弈论+必胜态必败态转移)
4.但是推了推,我感觉就看看走到(i,j)之后,下一步该谁走,如果该Alice走,她肯定走自己的必胜态,如果Bob走,他肯定也走自己的必胜态。如果每个人都走不了必胜,那么就走平局,如果没有平局,那么这个点对他而言是必败态的点。由于每次只能往右边或者下边走,我想处理(i,j)的时候,要保证(i+1,j),(i,j+1)都要处理出来,所以我就想到了从后往前推,先把最后一行处理出来,最后一列处理出来,然后倒着处理就行了,这样每次处理(i,j)的时候,(i+1,j),(i,j+1)都处理出来了。......原创 2022-08-06 20:48:49 · 236 阅读 · 0 评论 -
杭电多校-Shinobu loves trip-(预处理+同余定理)
预处理出来,每个旅行计划的起点也要预处理,因为每次求n个数的逆元的话复杂度也很高。还要注意特判的就是如果某个计划的起点是0的话,看看x是不是0。%p = x%p,这个式子,但是一想每次都跑一遍的话复杂度太高了。其实根本不用想那么多,就是一直乘a,看看能到达的城市是多少就行了。就是有p个城市,编号0~p-1。然后有n个旅行计划,每个旅行计划有个初始点,和旅行的天数。然后小A旅行的的点顺序是,每次乘以a,当然同时对p取模。1.观察到查询次数和旅行计划很少,应该是查询的时候,枚举每个旅行计划看看是否可以。...原创 2022-08-05 16:32:20 · 199 阅读 · 0 评论 -
CFdiv1+2-Bash and a Tough Math Puzzle-(线段树单点区间维护gcd+总结)
4.所以这个题也可以这样,直接在树上搜,这样复杂度是log(n)的,因为每次都可以扔掉一半,只去不合法的那一半。一种是就看看有多少非法的个数,累加起来,每次左右搜,但是这样两边都会搜,但是你写上如果这段区间都合法就return0就可以,这样就不会搜下去了。实际上,应该是看是否为x的倍数,因为6612也是接近3的,因为我把其中一个改成3,剩下的区间gcd都是3的倍数也可以。就是有一个n的数组,然后有m次操作,有两种,一种是让va[a]=b,一种是问你l到r这段区间的gcd是否接近x。.........原创 2022-07-28 16:27:58 · 265 阅读 · 0 评论 -
洛谷-换教室-(概率期望+dp)
对于有n节课,m次申请,很明显了,定义dp[i][j][0/1]为,上到第i节课,用了j次申请,当前申请或不申请,最小期望总和。那么转移的时候,分好情况就行。由于期望值是所有概率累加起来的,所以转移的时候,如果从dp[i-1][j-1][1]来转移,那么看看要加多少期望,这个期望值是好几种不同的情况累加起来的。就是给你n节课,每节课刚开始在va[i]教室,然后每节课都可以申请调换,调换到vb[i]教室,申请成功的概率是f[i]。然后必须要按顺序上课,然后问你在上完n节课,走的路程的期望值最小是多少。...原创 2022-07-20 20:33:09 · 252 阅读 · 0 评论 -
ABC-Find 4-cycle(鸽巢定理)
k*k,这肯定不行。但是仔细思考一下,不会枚举那么多次,比如第一个点包含k/2个点,第二个点包含不同的k/2个点,第三个点如果包含的点>=3那么肯定有两个也被别人包含了,这里就是鸽巢定理。就是给你n+k个点和m条边,每条边的两个点一个点n,没有重边。所以就是一些感觉复杂度做不了的题目,可以去试试,因为没有别的什么算法的时候一般就是暴力,这个暴力看起来像暴力实际上,如果加上一些细节操作或者什么的时候往往不会跑那么多次。首先边的两个点肯定是两个点集里面的,画一下图发现,对于一个点集中的两个点。...原创 2022-07-18 21:21:00 · 157 阅读 · 0 评论 -
CFdiv1+2-Potion Brewing Class-(树上乘除+因子)
D题意:就是给你n个物品,然后给你n-1个关系,就是a:b = c:d,也就是a物品和b物品的比值就是c:d。然后每个物品真正的值都是正整数,现在问你这些物品的总和最小为多少。思考:当时看到这题感觉肯定和最大公倍数有关。然后想了想咋根据比例处理出最小的总和,想了想是不是并查集呢。看了下样例发现整个图都是联通的,并查集没用了。由于感觉题目比较难,就没仔细看,实际上给你了n-1个关系,很明显在告诉你是一个树。那么既然是个树,各个关系比例还给你了,如果你把第一个点的值就确定为1,然后剩下所有点的值都出来了,当原创 2022-07-08 14:25:55 · 207 阅读 · 0 评论 -
Acwing周赛57-数字操作-(思维+分解质因数)
数字操作题意:就是给你一个数n,你可以让n乘以任意正整数x,或者让n开根号。问你最小可以达到的数字是多少,达到这个数字最少要多少次操作。思考:刚开始以为就是直接暴力跑一遍,一个数让n乘以x,再开方即可。当然这是错的,乘的可能不够。实际上就是对n先分解质因数,首先要保证达到的数最小,那么就看每个质因子的次幂,让所有的次幂都成为最大次幂,然后再一步一步开方,如果当前的次幂不是2的倍数,也就是不能直接开方了,那么就乘以这个数,让他成为2的倍数,所以用个st标记,是否要乘以数,不管乘多少次,我们都可以转化成第一原创 2022-06-25 21:20:57 · 222 阅读 · 0 评论 -
2019哈尔滨-Exchanging Gifts-(思维贪心+拓扑序路径)
E题意:就是给你n次操作,一种是给你直接给你一个序列,一种是这个序列为前面的某两个a和b序列拼接起来。现在问你第n个序列,这个序列是一些值,这个序列再随意排列后再相应匹配,问你最多有多少个人满足他目前的数和处理后的数不一样。思考:假如你有两个序列,排序后最多有多少人的值不同。这个就是一个数学结论,比如出现次数最大的次数为n,剩下的总和为m,如果n>m那么答案就是2*m,否则就是n+m。当n>m的时候,左边和右边相互匹配。当n<m的时候,那么就可以迭代的替代,第一大的代替第二大的,依原创 2022-05-01 21:47:15 · 229 阅读 · 0 评论 -
2021吉林省赛-Nim Game-(线段树+线性基)
I题意:就是给你n堆石子,然后有两种操作一种是让一段区间的值加x,一种是在l到r这些堆石子中Bob去选择一些堆,然后Alice先手,问你Bob是否可以选择一些堆使得自己必胜。思考:昨天模拟比的时候,看到这个就是基础的nim博弈,bob想赢就从l到r中取一些使得这些数的xor和为0,想了想这不就是线性基吗,但是自己当时确实整理了一次线性基,但是没深入去了解总以为自己用不上。实际上线性基就是有个性质嘛,如果add不进去就代表产生0了,而且最多也就是看64或者32位。超过64或者32个数肯定会产生0。所以原创 2022-04-20 11:44:44 · 297 阅读 · 0 评论 -
2020威海-Rencontre-(思维+贡献+数论期望)
C题意:就是给你一个树,然后有3个科学家,每个科学家有mi个想去的点。然后对于每次每个科学家会选择一个点,求出来一个点使得这三个科学家集合到这个点的总距离最小。然后对于所有的可能的这些距离全部加起来,最后再除以一共有多少种可能性。思考:说实话,当时看完题意就感觉又是那种假期望题,和上次济南一样,肯定有什么规律可循。对于每次是选3个点,求最小距离的话我只会枚举点后lca求出来,但是时间绝对炸了。因为每个科学家最多有n个想去的地方,这光枚举三个点都nnn的复杂度了,所以肯定不行。对于树上边距离很明显可以原创 2022-04-14 13:29:06 · 317 阅读 · 0 评论 -
2020威海-Clock Master-(数论+分组背包)
L题意:就是给你n元钱,然后让你买一些齿轮,每个齿轮有不同个数的尖角,价钱就是尖角的个数。现在问你让你花钱不超过n的情况下,(k%t1,k%t2…,k%tm)最多的方案数有多少。思考:题意转化之后发现就是让你求出来一些数,这些数加起来<=n,让这些数的最小公倍数最大。其实刚开始我以为是乘积最大,因为我以为齿轮就是指针,实际上如果两个都是两个尖头的齿轮在一起就一种可能,所以这个是看最小公倍数。就像题目给的式子,发现当k为这m个数的最小公倍的时候,这个状态又变成0000了。所以题目就转化完成了,发原创 2022-04-14 12:57:29 · 152 阅读 · 0 评论 -
2020威海-ABC Conjecture-(思维+数论)
D题意:就是给你一个数c,然后问你是否能构造出a+b==c,使rad(abc)<c。rad(n)就是n的所有质因子的乘积。c最大1e12。思考:可以发现,rad就是某个数的质因子乘积,所以如果c有个因子的次幂>1,那么很明显,abc就可以小于c了。然后如果c特别大,也就是在1e7之内找不到c的因子,那么c肯定是个很大的质数,或者是两个很大的质数乘积,所以再看看c是不是平方数,如果是就yes。记得要特判1,...原创 2022-04-13 21:48:32 · 341 阅读 · 0 评论