上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 29 下一页
摘要: 题解 童年的回忆! 想当初,这是我考的第一次省选,我当时初二,我什么都不会,然后看着这个东西,是不是能用我一个月前才会的求lca,光这个lca我就调了一个多小时= =,然后整场五个小时,我觉得其他题不可做,一直杠这题的20分,然后。。。day1爆零了,之后day2手玩提答好像骗了一点,总归是没爆零 阅读全文
posted @ 2018-06-15 14:29 sigongzi 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题解 我们发现只有从第一个往后数,用乘号联通的块是有贡献的 为什么,因为后面所有表达式 肯定会有 + ,还会有个 ,贡献全都被抵消了 所以我们处理出前缀乘积,然后乘上表达式的方案数 答案就是$\sum_{i = 1}^{n 1} S[i] 2 3^{n 1 i} + S[n]$ 设新值为v,旧值为u 阅读全文
posted @ 2018-06-15 14:24 sigongzi 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 题解 我会五维数点辣 只要用个bitset乱搞就好了 记录一下rk[i][j]表示第j科排名为i的是谁 用30000 5个大小为30000的bitset s[i][j]是一个bitset表示第j科,排名为1 i的人是多少 最后只要对于每个人,把每一维小于它的集合and起来,然后用count()函数输 阅读全文
posted @ 2018-06-15 11:17 sigongzi 阅读(278) 评论(1) 推荐(0) 编辑
摘要: 题解 我一开始写的最小表示法写的插头dp,愉快地TLE成60分 然后我觉得我就去看正解了! 发现是容斥 + 矩阵树定理 矩阵树定理对于有重边的图只要邻接矩阵的边数设置a[u][v]表示u,v之间有几条边就好 我们枚举哪些公司不用,然后用矩阵树求一下生成几棵树,复杂度$2^{n 1}(n 1)^3$ 阅读全文
posted @ 2018-06-15 10:17 sigongzi 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题解 这个字符集很小,我们可以把每个字符拿出来做一次匹配,把第一个字符串处理每个出现过的该字符处理成一个区间加,即最后变成第一个字符串的该位置能够匹配某字符 例如对于样例 10 4 1 AGCAATTCAT ACAT 我们做A的时候,把第一个串处理成 AAAAAA00AA0 第二个串 A0A0 那么 阅读全文
posted @ 2018-06-15 08:09 sigongzi 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题解 这道题的费用流如果朴素一点怎么建边呢 建出$\sum_{i = 1}^{n} p^{i} M$个点,第$i$个厨师的第$j$个点表示这个厨师倒数第$j$个做的是某道菜 这个点向汇点流一条流量为1,费用为0的边 然后每个菜建出来一个点,源点向每个菜流容量为$p$,费用为0的点,第$k$个菜想第$ 阅读全文
posted @ 2018-06-14 20:49 sigongzi 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题解 很显然我们求出一组线性基来,如果有M个基,那么可以构造N M + 1个最大异或值 而对于线性基中的元素,除了最大的元素,我们用最大异或值异或掉每个元素累加进答案 而不是把线性基中的元素处理成一个下三角矩阵! 代码 阅读全文
posted @ 2018-06-14 16:50 sigongzi 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题解 二分答案 求最小路径点覆盖 由于这里最小路径点覆盖,点是可重的,用floyd求出传递闭包(也就是求出,哪两点之间是可达的) 最后用这个floyd求出的数组建出一个新图,在这个图上跑普通的最小路径点覆盖即可 代码 阅读全文
posted @ 2018-06-14 15:55 sigongzi 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题解 最近一遇到神仙题一卡就好久……做点水题滋养一下自己吧= = 显然我们发现放一个方块的奇偶性不会改变,所以格子如果黑格子是奇数,那么就是No 我们发现每个2 × 3的方格里的2 × 1的黑格子都可创造并且平移,这样我们就可以愉快地造出4的倍数了,所以这种情况只要判黑格子奇偶性就行 那么2×2的特 阅读全文
posted @ 2018-06-14 14:56 sigongzi 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题解 就是字符集较大需要离散化和建边表的后缀自动机水题 每次会加入i个新的串,其中重复的就是i的父亲节点所在节点的长度,减掉即可 代码 cpp include include include include include include define enter putchar('\n') def 阅读全文
posted @ 2018-06-14 10:21 sigongzi 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题解 小迪的blog : https://www.cnblogs.com/RabbitHu/p/9178645.html 请大家点推荐并在sigongzi的评论下面点支持谢谢! 掌握了小迪生成函数的有趣姿势之后,我们考虑一下这个问题 由于出题人语死早,我们认为是十种石头的生成函数直接乘起来 $\fr 阅读全文
posted @ 2018-06-13 20:28 sigongzi 阅读(352) 评论(1) 推荐(1) 编辑
摘要: 题解 FWT板子题 可以发现 $dp[i][u] = \sum_{i = 0}^{N 1} dp[i 1][u xor (2^i)] + dp[i 1][u]$ 然后如果把异或提出来可以变成一个异或卷积 也就是另一个数组里只有$0$,$2^0$,$2^1$...$2^{n 1}$有值 用FWT变换一 阅读全文
posted @ 2018-06-13 16:43 sigongzi 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题解 代码7.1KB,人傻代码长 恶心死我了这代码真的把我写恶心了= = 想一想就知道这个东西……维护到中心的差分,然后用二维线段树维护一下矩形的gcd 嗯,我说完了,你写吧。 首先这个二维线段树的单点修改啊,要把第一维遍历过的节点也修改了,还不能直接修改,需要把第一维的左右子树里套的线段树拿出来合 阅读全文
posted @ 2018-06-13 15:54 sigongzi 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题解 矩阵乘法,注意需要快速乘 矩阵2 2 a c 0 1 代码 阅读全文
posted @ 2018-06-13 09:15 sigongzi 阅读(199) 评论(1) 推荐(0) 编辑
摘要: 题解 神仙网络流啊…… naive的我一直想把每个纵轴拆点,每个纵轴建R个点(大概是要跑费用流吧……)……然后第二个限制就gg了,什么也想不出来,菜啊TAT 后来我发现大神们的建图都是,一个原点,一个汇点,一段长条,每一段就是一个点,流量是值,那么最小割就是最小值了,很神奇 然后每相邻的两个纵轴z向 阅读全文
posted @ 2018-06-13 08:50 sigongzi 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题解 这题还要判无解真是难受…… 我们发现我们肯定能确定1的位置,1左右的两个区间是同理的可以确定出最小值的位置 我们把区间最小值看成给一个区间+1,构建出笛卡尔树,就求出了每一次取最小值和最小值左右的区间大小 然后就相当于左右子树的排列方式,乘上把左右子树那么多个元素选出左子树个数和右子树个数那么 阅读全文
posted @ 2018-06-12 21:31 sigongzi 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 题解 干脆题解套题解好了 毕竟我的hash方法是抄小迪的 https://www.cnblogs.com/RabbitHu/p/9165770.html 小迪太巨了%%% 之前模数是八位的WA了几个点,换成9位模数就都过了 代码 cpp include // define ivorysi defin 阅读全文
posted @ 2018-06-12 17:42 sigongzi 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题解 我们统计深度对于bfs序统计,树结构出现分歧的地方必然是BFS序的最后一段,这个最后一段同时还得是dfs序上连续的一段 如果不是bfs序的最后一段,那么必然下一层会有节点,如果树结构分歧了,那么dfs序是不一样的 如果不是dfs序上连续的一段,如果分歧那么bfs序会改变。。。 好的,知道了这两 阅读全文
posted @ 2018-06-12 16:09 sigongzi 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题解 写水题放松一下心情 二进制有个很好的性质是每一位是独立的,我们按位贪心,先看这一位能不能填1,然后看看如果这一位填0那么运算后最后这一位是不是1,是的话就退出,然后看看这一位如果填1最后是1这一位就填1,否则就退出 一次性把所有位填0,所有位填1,然后算两遍,复杂度$O(n + \log m) 阅读全文
posted @ 2018-06-12 14:32 sigongzi 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题解 容斥题 我们枚举出现次数最多的数出现了K次 然后我们需要计算的序列是所有数字出现个数都不超过K 1次 我们枚举不合法的数字的数目j,说明这个排列里除了我们固定出现K次的数至少有j个数是不合法的,先让这j个数每个数出现k次,然后再随意排列 j最大是N / K 那么复杂度就是调和级数了 代码 cp 阅读全文
posted @ 2018-06-11 20:05 sigongzi 阅读(318) 评论(2) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 29 下一页