思维题
ShawnBox
这个作者很懒,什么都没留下…
展开
-
【思维题】【细节】AGC010 C——Cleaning
这道题应该是比较简单的,但是有很多限制条件需要考虑进去,所以很容易漏掉一些条件.首先我们只考虑一种比较基本的情况一个根节点和它的若干儿子.原创 2018-09-25 19:46:05 · 257 阅读 · 0 评论 -
【思维题】【DP】AGC019 B —— Reverse and Compare
题目传送门一开始在想关于回文串的操作,直到我意识到这个数据范围d[i]表示前i个字符进行操作能够得到的不同串数量.那么转移分为两部分,一部分是当前这个位置不动,加上前i-1个位置的答案;另一个部分是将以i结尾的某个区间翻转.注意如果直接算这两个部分会有一部分是重叠的,所以进行翻转操作的区间起点不能和当前位置一样.综上,d[i]=d[i-1]+sum-cnt[s[i]-'a'].其中sum是...原创 2018-10-08 20:36:27 · 192 阅读 · 0 评论 -
【思维题】【欧拉回路】AGC018 D —— Two Trees
题目传送门持续看官方题解,顺便复习一下欧拉回路的求法.刚刚T过几次题目中要求的子树之和的绝对值为1,也就意味mod 2为1.那么对于每个节点,如果它的亲儿子数为偶数,它的权值就应该为奇数,反之亦然.通过上面的性质我们可以推出每个节点最终答案的奇偶性,从而判断是否有解.当且仅当两棵树中,同一个节点的答案奇偶性相同时,才有解.现在只是确定了答案的奇偶性,接下来就需要运用欧拉回路求得具体的值了....原创 2018-10-08 20:07:35 · 301 阅读 · 0 评论 -
【思维题】【组合数】【数学】AGC018 E —— Sightseeing Plan
题目传送门看官方题解都理解了半天真的能够在考试时间内做出来吗题意可以抽象为有三个矩形,分别从中选出一个点为A,B,C,要求A->B->C总的方案数.直接暴力枚举然后计算肯定不可行的,需要想方法进行转换.定义F(x,y)为(0,0)到(x,y)的方案数,则F(x,y)=Cxx+yF(x,y)=C_{x}^{x+y}F(x,y)=Cxx+y,然后发现F(x+1,y)=∑j=0yF...原创 2018-10-08 17:25:20 · 311 阅读 · 0 评论 -
【思维题】【二分图】TopCoder 12316 —— ThreeColorability
题目传送门虽然这道题标签有个二分图,实际上只是用来判断解的.此题的精髓应该是思维的过程首先利用样例 (题解),观察出2*2的格子中,如果有解,那么解一定为四个一样或者各两个的情况.不可能存在三个与一个的情况.也就是说,如果其中三条对角线的方向已经确定了,那么第四条的方向也是确定的.将上述的性质转换为式子就是 cells[x1][y1]⨂cells[x1][y2]⨂cells[x2][y1]⨂...原创 2018-10-14 19:47:03 · 302 阅读 · 0 评论 -
【思维题】【树】【哈密顿路径】AGC018 D —— Tree and Hamilton Path
题目传送门想到了按边算贡献,然而却偏向了在直径上鬼畜的道路.通过观察,可以发现如果多次经过重心,答案应该是最优的.因为这样使得除了某一条特殊的边之外,所有的边都会被计算两次.而这条特殊的边有两种情况,首先是只有一个重心,那么我们选择边权最小的且其中一个端点为重心的边;另一种情况是具有两个重心,选择两个重心之间的边即可.此处复习一下求重心的方法,首先任选一个节点为根,统计出每一个节点对应子树的...原创 2018-10-07 21:41:37 · 411 阅读 · 0 评论 -
【思维题】【贪心】AGC018C —— Coins
题目传送门尝试了一下弱化条件想题的方法,还不错?题目中有三种硬币,并不利于直接贪心.我们不妨先考虑只有两种硬币的情况.按照贪心的思想,应该按照两种硬币的差值(即一个人金币的个数减去银币的个数)进行排序,然后从前选Y个,剩下的X个都为金币.然后我们将条件加回来,发现性质有了一点点变化.因为有铜币的影响,所以并不能直接选取Y个这样做.但是我们还是可以发现,从前开始选银币,和从后开始选金币的区间是...原创 2018-10-07 21:33:25 · 372 阅读 · 0 评论 -
【思维题】【线段树】AGC011 F ——Train Service Planning
题目传送门比较有思维难度的一道题,绞了好久.首先先不考虑双向的轨道,记第i条轨道需要的行驶时间为AiAiAi,从左边出发的车在i停留pipipi,从右边出发的车停留qiqiqi.那么如果当前的这条轨道 x 没有发生冲突就可以转换为使区间(∑i=0x−1pi+∑i=1x−1Ai,∑i=0x−1pi+∑i=1xAi)(\sum_{i=0}^{x-1} pi+\sum_{i=1}^{x-1} Ai,...原创 2018-09-26 21:40:33 · 204 阅读 · 0 评论 -
【思维题】【图论】AGC011 C——Squared Graph
题目传送门考场上企图用归纳法来做,然而事实证明我依旧似乎走错了方向.题目中的定义了图的乘法,然后来根据图的不同特征进行讨论.首先我们考虑一种最简单的情况,设A,B是两个图,并且它们都是一个单点,那么A对答案的贡献为∣B∣\mid B \mid∣B∣.反之对B同理.然后考虑两个图都没有奇环的情况,(似乎这样可以看作二分图),这样的两个图乘起来对联通块的个数贡献是2.因为形如(u1,u2)-&...原创 2018-09-26 21:16:58 · 336 阅读 · 0 评论 -
【思维题】【生成树计数】BZOJ 2467 —— 生成树
题目传送门思维题?利用破圈算法的思想,想要将每一个环都删去一条边.首先考虑周围的五边形,每一个五边形都是一个环所以要删掉一条边,注意.观察剩下的图后发现有两种情况.中心多边形和周围五边形剩下的边组成了一个环周围五边形连起来构成了一个环不论哪种情况,我们都还需要删除一条边.对于情况1,删除一条中心多边形上的边.对于情况2,有些特殊.之所以能够达到情况2,是五边形删边的时都删除了与中心多...原创 2018-10-11 10:37:21 · 293 阅读 · 0 评论 -
【KMP】【伪思维题】BZOJ - 1511 —— OKR-Periods of Words
题目传送门可能是我太弱了,想了很久才想明白首先,KMP的fail数组可以看作是某一个前缀的最长公共前后缀的长度.即f[i]是前i个字符,前后缀相同的最长长度.在通俗地举个例子:abcabcf[5]=3,前缀一个’abc’,后缀一个’abc’,所以是3.用i-f[i],求得是最短的循环长度.红色区域表示前后缀相同的区域,用i-f[i]后得到下面的蓝色区域将蓝色区间复制一份放到后面...原创 2018-10-29 14:44:30 · 1215 阅读 · 0 评论