上一页 1 2 3 4 5 6 7 ··· 27 下一页
摘要: 传送门 解题思路 非常清新的一道题。 先假设选择了一条1->n的主路径,然后在这条路径上向外拓展。 发现只有环对答案有影响,因为非环的边一定会走两次,异或和为0。 因为图是联通的,所以可以经过任意环,所以可以把所有的环的异或值扔到线性基里。 然后再考虑选择哪一条路径,我们发现若1->n有多条路径,其 阅读全文
posted @ 2021-10-28 11:47 尹昱钦 阅读(34) 评论(0) 推荐(1) 编辑
摘要: 传送门 解题思路 贪心策略:按照价值从大到小排序,能选就选。 用线性基维护是否发生冲突。 正确性:异或和为0的几个数中去掉价值最低的异或和一定不为0。 AC代码 #include<iostream> #include<algorithm> #include<cmath> #include<cstdi 阅读全文
posted @ 2021-10-27 21:54 尹昱钦 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 线性基 推荐Menci博客的前半部分:https://oi.men.ci/linear-basis-notes/ 非常学术的讲解了线性基。 然后对于如何构造线性基,我一般使用以下方法: 对于每一个加进来的数,从高位向低位扫,若某一位是1,则看线性基的a[i]是否有值,若有,则这个数^=a[i],否则 阅读全文
posted @ 2021-10-26 22:58 尹昱钦 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 关键:根据定义,线性基是线性无关的,2的线性基内的元素数量次幂即为可能的异或数量。 于是就成了板子题了。 AC代码 #include<iostream> #include<algorithm> #include<cmath> #include<cstdio> #include<cs 阅读全文
posted @ 2021-10-26 22:42 尹昱钦 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 简要来说就是求每一个基环树的直径的和。 想起来很好想,就是把环上每个节点挂的子树的深度的信息挂到环上的节点上,然后断环为链,找一段最大的区间使得dep[a]+dep[b]+dis[a,b] 最大,dis[a,b] 又可以用前缀和预处理成 dis[b]-dis[a],于是式子变成了d 阅读全文
posted @ 2021-10-26 08:41 尹昱钦 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 和上一题很像,不过这是个基环森林。 还是一样要注意是否是二元环(可以通过删边和反向边来处理)。 AC代码 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath 阅读全文
posted @ 2021-10-25 19:45 尹昱钦 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 先找到基环树上的环,然后断掉任意一条环上的边,分别以两个端点做树形dp(没有上司的舞会),最后答案就是max(dp1[s][0],dp2[t][0])。 其中dp1[s][0]为以s为根节点不选s的答案,dp2[t][0]表示以t为根节点不选t时的答案。 注意断边不能只看点,因为有 阅读全文
posted @ 2021-10-25 18:57 尹昱钦 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 传送门 基环树 定义: n个节点n条边的连通图。 性质: 很显然有且仅有一个环。 如何找环: dfs,每次读到一个节点入栈(类似Tarjan) 拓扑排序:最后剩下的度数不为零的点一定就在环上 题目通常解法: 把环看做一个整个树的根,然后把子树的信息挂到环的每一个点上,问题变成了环上操作,再根据题目需 阅读全文
posted @ 2021-10-25 18:24 尹昱钦 阅读(28) 评论(0) 推荐(0) 编辑
摘要: Day 0 晚上自己一个人住在宾馆,不过能和xhy、ljx、gjy他们联系上还是蛮不错的啦。 Day1 上午 早上很早就起床了,收拾收拾行李,然后拖着行李箱“长途跋涉”,穿过一片茂密的树林,来到汹涌的河流面前,于是跨过银白色的状元桥,走上一条蜿蜒起伏的羊肠小道,最后踏过一个古老神秘的大门,抵达目的地 阅读全文
posted @ 2021-10-25 07:41 尹昱钦 阅读(294) 评论(2) 推荐(0) 编辑
摘要: 传送门 解题思路 求2-sat合法的方案数。 做法: 先基操判断有无解,并求出一组解。 然后考虑两个集合的人能否过去。 我们发现只有三种情况:A到B一个人,B到A一个人,AB交换一个人。 所以就 \(O(N^2)\) 判断AB集合中的人是否符合条件,最后方案数即为(A到B符合的人数+1)*(B到A符 阅读全文
posted @ 2021-10-19 18:54 尹昱钦 阅读(475) 评论(0) 推荐(1) 编辑
摘要: 传送门 解题思路 和板子几乎一样。 而且不用输出方案。 AC代码 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #include<q 阅读全文
posted @ 2021-10-19 14:38 尹昱钦 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 思想:将问题转化为图论问题。 因为一个点只有两个状态,所以每个点可以拆成 i 和 i+n 两个点,u 连向 v 表示选择 u 就必须选择 v。 根据条件建图(注意一定要建对应的反向边(例如建立 u->v+n,就必须再连 v->u+n))后,跑一遍Tarjan求强连通分量。若发现存在 阅读全文
posted @ 2021-10-19 13:03 尹昱钦 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 考虑尺取法。 将所有区间按照长度从小到大排序,然后tow-pointers在保证区间最大值>=m的情况下不断维护区间+1/-1。 用线段树维护。 AC代码 #include<iostream> #include<cstdio> #include<cstring> #include< 阅读全文
posted @ 2021-10-18 19:23 尹昱钦 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 总结 场上做了ABCD1E,但其实题目都挺简单的,还是自己太菜了,唉。 %%%xmz神仙,AK了。 A. Elections 求使一个数变成三个数中最大的数最小加几。 做法很多,但是注意不能直接求max然后减,要判断。 B. Make it Divisible by 25 因为25是100的因数,所 阅读全文
posted @ 2021-10-18 16:36 尹昱钦 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 和洛谷 P3674 很像。首先对于质数输出其本身。然后对于合数,根据哥德巴赫猜想,偶数一定可以由两个质数相加得到,而奇数则可以由两个或者三个质数得到。 但是三个数的和不好找,于是可以把奇数-1得到偶数进行求解。 然后就可以预处理1~1e7的质数,扔到bitset里,每次询问相当于询 阅读全文
posted @ 2021-10-16 08:57 尹昱钦 阅读(53) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 27 下一页