随笔分类 -  校内测试

摘要:Solution 数据范围疯狂暗示状压,可是一开始发现状态特别难受。 将每一层的奇偶性状压,预处理所有状态的奇偶性。每一层的输入代表的其实可以是下一层某个点可以被从这一层哪些点转移到。 所以枚举每个状态,再枚举下一层转移到哪个点,统计这个点被这个状态更新的话正边和反边分别的奇偶性,转移即可。 第二层 阅读全文
posted @ 2018-11-08 16:16 Wans_ovo 阅读(180) 评论(0) 推荐(0)
摘要:Solution 可以发现对于每个因子,如果以它作为每块的大小合法,最多也只有一种方案。 如何判断每个因子是否合法??用到了一种非常巧妙的方法,统计每个节点子树的$siz$,如果当前节点$siz$是枚举的因子的倍数,那么意味着在这个节点到它父亲节点必须要割一刀分出联通块。 那么统计出割多少刀就是有多 阅读全文
posted @ 2018-11-06 17:16 Wans_ovo 阅读(225) 评论(0) 推荐(0)
摘要:Solution 非常巧妙的建立DP方程。 据dalao们说题目明显暗示根号复杂度??(反正我是没看出来 因为每次分的块大小一定不超过$\sqrt n$,要不然直接每个位置开一个块答案都才为$n$。 于是大佬们想到用一个非常巧妙的数组$pos[j]$,表示顺推到当前位置$i$时,以$i$作为右端点, 阅读全文
posted @ 2018-11-05 17:07 Wans_ovo 阅读(267) 评论(0) 推荐(0)
摘要:真的是fo了,晚上还来一次测试...... mister【问题描述】 不久前 Mister 从太空中探测到一个奇怪的信号,他开始研究这个信号。 经过一些变换后,这个信号变成了长度为 n 的排列或者它的循环移位。对于进一步的研究 Mister 需要一些数据分析,这就是为什么他决定选择这个排列的循环移位 阅读全文
posted @ 2018-11-04 12:18 Wans_ovo 阅读(138) 评论(0) 推荐(0)
摘要:Solution 签到水题,直接状压枚举所有情况算出答案即可。 Code Solution 考完看题解泪流满面了QAQ 题中不断强调两点之间只有一条简单路径啊!!!那不就是树嘛QAQ 而且在特定的一个矩阵中也要满足这个性质,那么这个矩阵中所有联通块相当于森林,显然联通块数等于点数减边数。 所以对每个 阅读全文
posted @ 2018-11-02 17:15 Wans_ovo 阅读(187) 评论(0) 推荐(0)
摘要:Solution $jzy$大佬用了给的原根的信息,加上矩阵快速幂150行QAQ 然而$yuli$大佬的做法不仅好懂,代码只有50行! 快速幂的思想,把m看成要组成的区间总长度,每次将两段组合得到新的长度。 定义$g[i]$表示当前x为$i$时的方案数,用来最后计算期望,在快速幂中相当于ans,定义 阅读全文
posted @ 2018-11-01 19:23 Wans_ovo 阅读(165) 评论(0) 推荐(0)
摘要:Solution 注意取模!!! Code Solution 二分+DP,二分需要多少组p+q,记忆化搜索判断是否可以达到条件。 定义$dp[dep][j][k]$表示当前取到第$dep$个数,还需要j个p,k个q来使满足条件。(p>q) 每次先尽量放p,剩下中再尽量放q,放q时就有限制,不能取超过 阅读全文
posted @ 2018-10-31 15:35 Wans_ovo 阅读(205) 评论(0) 推荐(0)
摘要:Solution 这种题怎么推??当然是打表啊! 打表发现规律,满足上述条件的数对一定满足大数减小数等于它们的gcd?? 然而考试的时候知道了这个规律也没有写出来.... 知道了以上结论后,就枚举两数的差d,使大数为$kd$,小数为$kd-d$,它们的gcd一定就是d了,那么只用判断两数的异或是否也 阅读全文
posted @ 2018-10-30 17:06 Wans_ovo 阅读(309) 评论(1) 推荐(0)
摘要:Solution 标程太暴力惹QAQ 相当于是26棵线段树的说QAQ 不过我写了另一种写法,从大到小枚举每一个字母,标记字典序在这个字母之上的位置为1,每次都建一棵线段树,维护1的数量,即区间和。 修改操作就是先查询这个区间1的数量,排序本质上就是把1一起放在这个区间前面或后面,最后查询每个位置,如 阅读全文
posted @ 2018-10-29 18:54 Wans_ovo 阅读(278) 评论(0) 推荐(0)
摘要:Solution 有向图要找最长路径的话,可以想到拓扑序转移。正反跑两边处理出每个点离起点和终点的最大值。访问每条边就能统计出经过每条边最长路径的长度。 问题是怎么统计出删除每个点的影响? 拓扑排序后,可以发现,删除层数靠后的点会对前面产生影响,因为此时想统计前面的边存在的最长路就不能判掉经过这个点 阅读全文
posted @ 2018-10-28 19:20 Wans_ovo 阅读(167) 评论(0) 推荐(0)
摘要:Solution 据说正解DP30行??? 然后写了100行的状压DP?? 疯狂特判,一算极限时间复杂度过不了aaa!! 然而还是过了....QAQ 所以我定的状态是待转移的位置的前三位,用6位二进制位表示,每2位表示一个位置的状态。然后特判转移就可以了QAQ Code Solution 完全把题意 阅读全文
posted @ 2018-10-26 20:06 Wans_ovo 阅读(264) 评论(0) 推荐(0)
摘要:Solution 实际上是一道欧拉路径的裸题,不过以前完全没有写过,然后就很难受地挂掉了QAQ 分为有向图和无向图,如果有欧拉路径一定满足: 有向图:1、至多有两个点出度和入度不同,并且一定是一个出度=入度+1(起点),一个是入度=出度+1(终点)。2、如果所有点的出入度都应该相同,那么整个图就是一 阅读全文
posted @ 2018-10-24 17:20 Wans_ovo 阅读(211) 评论(0) 推荐(0)
摘要:Solution 谁能想到这道题卡读入??还卡了70pts??? 二分+$n^2$check就行了 Code Solution 谁能想到这道题标程错误??又卡了70pts! 正解二分图/网络流,就是最小路径覆盖问题。 标程错在没判重! (我判了哼 Code Solution 今天唯一一道有水平并且T 阅读全文
posted @ 2018-10-22 16:49 Wans_ovo 阅读(196) 评论(0) 推荐(0)
摘要:Solution 和后面两道题难度差距太大了吧!! 显然就只是个小模拟,注意判0就行了。 Code Solution 思维难度很大啊,需要把所有的情况理清楚,代码就不难写了。 性质1:如果有超过1条特殊边与树边形成奇环,则满足条件的边不可能是特殊边(肯定不可能被所有奇环包含) 性质2:如果一条特殊边 阅读全文
posted @ 2018-10-20 16:23 Wans_ovo 阅读(264) 评论(0) 推荐(0)
摘要:Solution 根据题意可知,第$i$列放置的个数和第$i+kn$列是一样的。 再由题目中$m=n$的数据找到灵感,可以用dp完成。 $m=n$时,$dp[i][j]$表示第$i$列前一共放置$j$个的方案数,那么$dp[i][j]=\sum{dp[i-1][t]*C(n,t)}$。最后答案就是$ 阅读全文
posted @ 2018-10-15 20:03 Wans_ovo 阅读(248) 评论(0) 推荐(0)
摘要:上次做过类似的题,原来这道还要简单些?? 上次那道题是每天可以同时买进卖出,所以用两个优先队列,一个存买进,一个存卖出(供反悔的队列)。 这道题实际上用一个就够了???但是不好理解!! 所以我还是用了俩... 和之前那道题不同的是,如果我选择了反悔,之前第二个队列的队头就完全没有用了,但是我们可以选 阅读全文
posted @ 2018-10-11 16:05 Wans_ovo 阅读(214) 评论(0) 推荐(0)
摘要:在洛谷上复制的题目! P3154 [CQOI2009]循环赛 题目描述 n队伍比赛,每两支队伍比赛一次,平1胜3负0. 给出队伍的最终得分,求多少种可能的分数表。 输入输出格式 输入格式: 第一行包含一个正整数n,队伍的个数。第二行包含n个非负整数,即每支队伍的得分。 输出格式: 输出仅一行,即可能 阅读全文
posted @ 2018-10-09 22:00 Wans_ovo 阅读(216) 评论(0) 推荐(0)
摘要:比较好想的一道题,直接用队列滑窗,因为扫一遍往队列里加东西时,改变的只有一个值,开桶储存好就行了! 考场上想到$2-sat$但是忘得差不多了,打死都理不清楚关系。 这道题算是$2-sat$板子题了,主要是如何判断的思想。 首先题目条件疯狂暗示,但是和$2-sat$的一般理解方式不同。题目上给的约束条 阅读全文
posted @ 2018-10-07 19:57 Wans_ovo 阅读(308) 评论(0) 推荐(0)
摘要:一开始看到题就果断跳到T2了!!没想到T2才是个大坑,浪费了两个小时QAQ!! 就是一道小模拟,它怎么说就怎么走就好了! 为什么要用这么多感叹号!!因为统计答案要边走边统计!!如果每个数据都扫一遍2000*2000就炸了!!! 我爆哭QAQ再也不用stl的max叻!!(然而一定会被打脸)我的100分 阅读全文
posted @ 2018-10-06 15:21 Wans_ovo 阅读(219) 评论(0) 推荐(0)
摘要:转移都很明显的一道DP题。按照不优化的思路,定义状态$dp[i][j][0/1]$表示吃到第$i$天,当前胃容量为$j$,前一天吃(1)或不吃(0)时能够得到的最大价值。 因为有一个两天不吃可以复原容量的定义,所以需要前一天的状态。 而注意,容量表示的是当前第$i$天吃之前的容量。 然后考虑压缩空间 阅读全文
posted @ 2018-10-05 16:31 Wans_ovo 阅读(157) 评论(0) 推荐(0)