草庐IT

Codeforces Round 911 (Div. 2)(C~E)(DFS、数论(容斥)、SCC缩点 + DAG图上DP)

​​​​​​1900C-Anji'sBinaryTree        题意:凯克西奇一直被安吉冷落。通过一个共同的朋友,他发现安吉非常喜欢二叉树,于是决定解决她的问题,以引起她的注意。Anji给了Keksic一棵有n个顶点的二叉树。顶点1是根,没有父顶点。所有其他顶点都有一个父顶点。每个顶点最多可以有2个子顶点、一个左子顶点和一个右子顶点。对于每个顶点,安吉都会告诉凯西奇它的左子和右子的索引,或者告诉他它们不存在。此外,每个顶点上都有一个字母,即"U"、"L"或"R"。克克西奇从根开始下棋,他的每一步都是这样走的:如果当前顶点上的字母是"U",他就移动到它的父顶点。如果它不存在,他就什么也不

[数论第四节]容斥原理/博弈论/NIM游戏

容斥原理\(|A\cupB\cupC|=|A|+|B|+|C|-|A\capB|-|A\capC|-|B\capC|+|A\capB\capC|\)\(|\displaystyle\cup_{i=1}^nA_i|=\sum_{i}|A_i|-\sum_{i,j}|A_i\capA_j|+\ldots+(-1)^{n+1}|\cap_{i=1}^nA_i|\)时间复杂度:\(C_n^1+C_n^2+C_n^3···+C_n^n=2^n-1\)\(O(2^n-1)\)等式右边有\(2^n-1\)项,每一项表示选取若干个集合相交的情况,可以通过DFS遍历每种选取的情况,也可以把每种选取的情况与一个二

LeetCode 2409. Count Days Spent Together【前缀和,容斥原理】简单

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库:https://github.com/memcpy0/LeetCode-Conquest。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类题目

容斥定理 AtCoder——FizzBuzz Sum Hard

题目传送门ProblemStatementFindthesumofintegersbetween 1 and N(inclusive)thatarenotmultiplesof Aor B.Constraints1≤N,A,B≤109 Allvaluesininputareintegers.InputInputisgivenfromStandardInputinthefollowingformat:NABOutputPrinttheanswer.Sample1InputcopyOutputcopy103522Theintegersbetween 1 and 10(inclusive)thata

容斥定理 AtCoder——FizzBuzz Sum Hard

题目传送门ProblemStatementFindthesumofintegersbetween 1 and N(inclusive)thatarenotmultiplesof Aor B.Constraints1≤N,A,B≤109 Allvaluesininputareintegers.InputInputisgivenfromStandardInputinthefollowingformat:NABOutputPrinttheanswer.Sample1InputcopyOutputcopy103522Theintegersbetween 1 and 10(inclusive)thata