随笔分类 -  基础算法 -- 搜索

摘要:异或约数和 题意简述 求 $f_1\space xor\space f_2…\space xor\space f_n$ , $f_i$ 表示 $i$ 的所有约数的异或和。 $n\leq 10^{14}$ 。 $solution:$ 考虑 $xor$ 有结合律与交换律,所以考虑优化给定式子。 对于 $ 阅读全文
posted @ 2019-07-27 13:31 siruiyang_sry 阅读(185) 评论(0) 推荐(0)
摘要:第一次考$NOIP$的我已经自闭了 $CCF$告诉我们了一件事情,要对自己写的程序有信仰,相信$CCF$的数据是水的 普及组: 分数:$100+100+30+100=330$ $1.titile$: $cin$,$scanf$都试了试,却没有$A$掉第二个样例,最后$getchar()$$5$次$A 阅读全文
posted @ 2018-11-14 20:40 siruiyang_sry 阅读(420) 评论(6) 推荐(2)
摘要:题目pdf 官方题解 T1: 我们可以发现此题若要求$[L,R]$区间的答案,其实就是再求前缀和,我们设$b$为当前出现次数最多的字符,$c$为最小,所以答案为$s[b]_r-s[c]_r-(s[b]_{l-1}-s[c]_{l-1})$,其实我们可以用一个数组$minv[b][c]$记录这个式子$ 阅读全文
posted @ 2018-11-06 09:54 siruiyang_sry 阅读(147) 评论(0) 推荐(0)
摘要:题目pdf W神爷的题解 T1:简单$dfs$ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; inline int read() { int f=1,ans 阅读全文
posted @ 2018-10-29 18:49 siruiyang_sry 阅读(164) 评论(0) 推荐(0)
摘要:题目pdf 代码因为码量太长就不上传了 T1:送分 T2:从圆心往外dfs,然后瞎搞,时间复杂度$O(m*(M+n)\log n)$ $(我会markdown 了)$ T3:建堆维护规约规则与贪心,一颗维护度数,一颗维护编号,删除的时候直接打上标记,到堆订的时候看一看是否要被删除,多关键字排序(度数 阅读全文
posted @ 2018-10-27 13:43 siruiyang_sry 阅读(141) 评论(0) 推荐(0)
摘要:link 若$k=0$时,则没有走过任何一个新建道路,所以答案为$2\times (n-1)$,因为用$dfs$可以发现每条边经过一次,回溯一次 设树的直径为$L1$ 若$k=1$时,则我们发现若连接$(u,v)$,则会产生一个环,环中每条边只经过一次,其余都经过两次,则答案是$2\times{(n 阅读全文
posted @ 2018-10-25 19:21 siruiyang_sry 阅读(200) 评论(0) 推荐(0)
摘要:题目传送门 W神爷的题解 数论 小 M 的算式 【问题描述】 小 M 在做数学作业的时候遇到了一个有趣的问题:有一个长度为 n 的数字 串 S,小 M 需要在数字之间填入若干个“+”和恰好一个“=”,使其成为一个 合法的等式。如对于 S=“2349”,可以通过添加 2个“+”和 1 个“=”成为 “ 阅读全文
posted @ 2018-10-15 21:03 siruiyang_sry 阅读(238) 评论(0) 推荐(0)
摘要:看到要求gcd不为1所以肯定在这条答案链上都是一个质数的倍数,所以就会产生一个很暴力的想法 没错,正解就是这样的暴力 只让走是i(素数)倍数的点,作最长链 最长链可以树形dp或两遍bfs,一遍找端点,一遍过长度即可 复杂度:未证 #include<iostream> #include<cstdio> 阅读全文
posted @ 2018-09-25 20:56 siruiyang_sry 阅读(401) 评论(3) 推荐(0)
摘要:题目描述 有一个 m×m 的棋盘,棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在要从棋盘的最左上角走到棋盘的最右下角。 任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的), 你只能向上、 下、左、 右四个方向前进。当你从一个格子走向另一个格子时,如果两个格子的颜色相同,那你不需要花 阅读全文
posted @ 2018-07-20 21:15 siruiyang_sry 阅读(405) 评论(0) 推荐(0)