摘要: Codeforces Round #749 (Div. 1 + Div. 2, based on Technocup 2022 Elimination Round 1) F. Defender of Childhood Dreams 题意 $n$个点的有向图,点依次编号为$1$到$n$,若$a<b$,则点$a$到点$b$有一条有向边。 $a,b$之间的路径定义为从$a$出发,按顺序和边的方向走,最终走到$b$点的边集 彩虹路径定义为路径上的边至少有两种颜色的路径 问一种给边染色的方案,使得所有长度为$k$的路径都是彩虹路径,并且 阅读全文
posted @ 2021-10-21 16:35 yjmstr 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Codeforces Round #749 (Div. 1 + Div. 2, based on Technocup 2022 Elimination Round 1)    E. Moment of Bloom 题意 给出$n$个点$m$条边的无向连通图(保证没有重边和自环),$q$次询问,每次询问给出$a,b$。 初始时,所有的边边权均为0,对于每次询问,你必须选择一条从$a$到$b$的简单路径,把路径上的每条边的边权+1。 回答是否可以做到$q$次询问之后图中每条边的边权均为偶数,如果可能,输出每次询问 阅读全文
posted @ 2021-10-20 21:26 yjmstr 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 洛谷P4550  收集邮票  期望dp 学弟问的题 问题是:为什么题解区第一篇 走回自己以后代价是f[i]+1 只考虑剩下的$n-i$种邮票取完的期望价格,这是整个问题的子问题 剩$x$种时,我们只考虑这个规模为$x$的子问题,取完这种假如花了$k$步。 那么剩$x+1$种时,其有$(n-x-1)/n$的概率转换为“做完规模为$x$的子问 阅读全文
posted @ 2021-10-20 15:07 yjmstr 阅读(1) 评论(0) 推荐(0) 编辑
摘要: Codeforces Round #748 (Div. 3) G. Changing Brackets 题意 给出一个圆括号和方括号组成的括号序列,可以执行以下操作任意次 1.改变某个括号的方向 花费为0 2.把某个方括号改成圆括号 花费为1 q次询问,每次询问l,r,问让子串$[l,r]$​​成为合法括号序列的最小开销,保证子串长度为偶数。 每次询问是独立的 $t\le 100$​组数据,$2\le 阅读全文
posted @ 2021-10-19 15:34 yjmstr 阅读(4) 评论(0) 推荐(0) 编辑
摘要: [Codeforces Round #748 (Div. 3)](https://codeforces.com/contest/1593)  F. Red-Black Number   记忆化搜索 题意 给出$n$位的十进制数和数字$A,B$,要求把给出的十进制数的每一位染上黑色或红色,使得红色部分按顺序组成的十进制数(可能有前导0)以及黑色部分按顺序组成的十进制数(可能有前导0)能分别被$A,B$整除,并且红色的位数和黑色的位数差的绝对值最小。 \(2\le n \le 40,1\le A, 阅读全文
posted @ 2021-10-17 17:32 yjmstr 阅读(5) 评论(0) 推荐(0) 编辑
摘要: [Codeforces Round #748 (Div. 3)](https://codeforces.com/contest/1593)  D2 Half of Same 菜比要靠div3上蓝,,, 题意 给出$n$个整数($n$是偶数),构造一个正整数$k$,每次操作你可以把某个数减$k$,要求构造的$k$能够使得至少一半的数最终相等,求最大的$k$。若$k$能无限大,输出-1。 最多10组数据,\(4\le n \le 40\),\(-1e6\le a_i \le 阅读全文
posted @ 2021-10-17 17:19 yjmstr 阅读(4) 评论(0) 推荐(0) 编辑
摘要: HDU 3746  Cyclic Nacklace     kmp找循环节 给出一个串,每次只能在首端或尾端加入字符,问至少要加入多少个字符,才能使得这个串为循环串(由出现次数大于等于2的循环节构成) 100组数据 每组数据字符串长度不超过1e5 sol: 在头部加和在尾部加其实是一样的,设原始串的长度为len,则有 \(s[0..fail[len-1]]=s[(len-1 阅读全文
posted @ 2021-10-17 17:08 yjmstr 阅读(1) 评论(0) 推荐(0) 编辑
摘要: Codeforces Round #747 (Div.2) D. The Number of Imposters 题意: $n$个人,每个人要么是敌人,要么是朋友。已知敌人一定说假话,朋友一定说真话,给出$m$句形如$i,j,c$的话,表示第$i$个人说第$j$个人的身份是$c$​,问敌人的最大可能数量是多少。 \(1\le n\le 2e5\) 题解: $2-SAT$​只能判是否有解,找出的不是最优解 注意到 阅读全文
posted @ 2021-10-09 09:55 yjmstr 阅读(61) 评论(0) 推荐(0) 编辑
摘要: Nand2tetris 学习笔记 coursera上有part1的课程,但都是英文 配套的中文书籍可以在z-lib上找到,名为《计算机系统要素》 00部分是简介,直接跳过了 配套的文件可以在Nand2tetris官网找到 vscode甚至有专门为这门课的HDL做的代码高亮拓展 第一周 Module 1: Boolean Functi 阅读全文
posted @ 2021-10-07 22:36 yjmstr 阅读(89) 评论(0) 推荐(0) 编辑
摘要: codeforces 1557D Ezzat and Grid 线段树 DP 首先要把求最少删几个改为最多留几个这一转换,因为求最多留几个可以用类似最长上升子序列的dp,从所有的合法前继转移过来。 如果把所有的1区间看成是点,有相交的区间之间,从行号小的向行号大的连边,那么会形成一张DAG,求出最长路即为最多能保留几个。但边数可以到$O(m^2)$级别。考虑最终答案的连边方式 阅读全文
posted @ 2021-10-02 00:32 yjmstr 阅读(6) 评论(0) 推荐(0) 编辑