摘要: #Day 1: Kyoto Contest 2 K. King’s Palace 折半枚举。分成长度为$k$和$n-k$的两部分。 先预处理,$3k$枚举左边的每种染色方案。对每一个合法方案都算一个二进制mask1,mask1表示该染色方案对右边的颜色限制,一共$2{3(n-k)}$种。最后可以统计 阅读全文
posted @ 2022-02-01 23:15 Swzhao 阅读(722) 评论(0) 推荐(0)
摘要: 远闻钱班同学算法课作业的奇怪输入格式,特此写一遍博客简单叙述一下自己的浅薄见解。 输入共包括若干个字母/数字,中间用空格分隔,换行代表输入结束。其中数字可能为多位数,字母仅为单个字符。样例如下: 9 a 3 b c 61 54 z 813 对于字母数字混合的形式,考虑逐个字符读入。while循环,每 阅读全文
posted @ 2021-09-17 00:17 Swzhao 阅读(427) 评论(0) 推荐(0)
摘要: 树的计数 有根树数量=无根树数量*n 带标号无根树计数 \(\leftrightarrow\) Prufer序列 在无根树集合T与长为n-2,值为1-n的所有序列S 之间建立一一映射 树T映射到S,设T中节点度为$d_i$,S中i的出现次数为$a_i$,则有$d_i=a_i+1$ 其本质上是说,对于 阅读全文
posted @ 2021-08-17 10:45 Swzhao 阅读(636) 评论(0) 推荐(0)
摘要: Polya计数定理 通常用于解决一类本质不同的染色方案数问题。设所有染色方案的集合为$S$,在$S$上定义一个关系$R$,若$aRb$​则染色方案$a$和$b$本质相同。关系$R$显然为等价关系。 对于某些序列染色问题,其对应的等价关系$R$​​​​可以用置换​表示。即对于置换$f$​​,染色方案$ 阅读全文
posted @ 2021-08-06 16:47 Swzhao 阅读(300) 评论(0) 推荐(0)
摘要: 树上莫队 方法是用欧拉序转化为序列莫队。欧拉序的具体做法:模拟dfs的过程,把每条边当成两条有向边(根结点上面再加两条边),经过这条边时记录当前边深度大的那个点。每个点在序列中会出现两次,出现的下标记为$s[i]$和$t[i]$。伪代码如下: void dfs(int x,int fa) { id. 阅读全文
posted @ 2021-06-07 10:21 Swzhao 阅读(107) 评论(0) 推荐(0)
摘要: VSCode C++环境配置 (macOS) VSCode是一种支持多种语言的代码编辑器。对于C/C++语言的编译和调试,需要手动安装插件、配置文件来完成。 Step 1 下载 官网下载VSCode Step 2 安装拓展 点击界面左侧图标,进入拓展,下载插件 C/C++ C/C++ Clang C 阅读全文
posted @ 2021-02-02 14:18 Swzhao 阅读(443) 评论(0) 推荐(0)