上一页 1 2 3 4 5 6 ··· 35 下一页
摘要: "传送门" 这道题很神奇…… 首先我们考虑只有一个物品的情况。通过观察发现,只要$gcd(v,P) | w$那么就可以,否则就不行。 然后推广到多个物品的时候,我们发现仍然是成立的,就是对于多个物品取gcd。 我们可以发现每个物品的价值v和$gcd(v,P)$是完全等价的,可以直接变成$gcd(v, 阅读全文
posted @ 2019-03-26 21:19 CaptainLi 阅读(142) 评论(0) 推荐(0) 编辑
摘要: "传送门" 唔……首先如果你的想法是把所有树的形态都整出来……那肯定是做不出来的…… 于是我们转而枚举每条边对答案的贡献。我们可以枚举当前的点i,因为可以承受$O(n^2)$的复杂度,所以我们可以对于每个点i再 枚举一维size。 首先对于子树内的情况,答案显然有$size!C(n i,size 1 阅读全文
posted @ 2019-03-26 10:41 CaptainLi 阅读(135) 评论(0) 推荐(0) 编辑
摘要: "传送门" 这题是个很好的题呀。我一开始能想到好像对于k=n的情况只要扫一遍就行了……但是我没有意识到这是个必要的环节。 就是我们如果从大到小扫一遍,每次遇到亮的灯就按一下,这个过程中按的灯数是必要的。(这个比较显然……其实是我也找不出步数更少的反例……)那么我们就可以DP了…… 考虑从需要i+1步 阅读全文
posted @ 2019-03-25 22:51 CaptainLi 阅读(131) 评论(0) 推荐(0) 编辑
摘要: "传送门" 听说这题误导性很强……我倒没有…… 我只是单纯的不知道怎么做…… 实际上很简单。考虑到最右面是必须放守卫的,我们从右边开始DP,设$dp[l][r]$表示区间$[l,r]$需要摆放的最小守卫数,p表示能观察到的最远的亭子,那么有$dp[l][r] = sum + min(dp[l][p] 阅读全文
posted @ 2019-03-25 21:35 CaptainLi 阅读(202) 评论(0) 推荐(0) 编辑
摘要: "传送门" 这题状态和转移都很好想,但是问题在于转移顺序。 一开始我是自然的考虑正推的……考虑到会出现一些不合法的情况,我使用bool数组来记录当前状态是否可用。但是这样出现的问题在于,因为最终要计算平均答案,很多种选择情况 它的终止集合是不同的,而答案也不是把他们简单的加起来…… 于是我们考虑倒推 阅读全文
posted @ 2019-03-16 21:27 CaptainLi 阅读(152) 评论(1) 推荐(0) 编辑
摘要: "传送门" 这道题确实是相当优美的…… 以下S串指的是ION2017的串,T串指的是ION2018的串。 题目要求的是,两个字符串本质不同的非公共串的个数。这个转化一下,只要求两个字符串本质不同的公共串的个数即可,因为我们用本质不同的串数减一下就可以了。这个大家都会求。 首先我们考虑l=1,r=|S 阅读全文
posted @ 2019-03-13 22:11 CaptainLi 阅读(218) 评论(0) 推荐(0) 编辑
摘要: "传送门" 简要题意:求树上所有联通块中第k大的数的和。 正解是肯定不会的……只会暴力…… 考虑一个简单的暴力,枚举当前第k大的数w,之后在树上跑树形背包,然后计算当前有多少个联通块满足至少k个元素大于w。 这个算法会超时。然后这里有一些玄学的优化…… 首先如果一共也攒不够k个联通块就可以不DP了。 阅读全文
posted @ 2019-03-11 00:22 CaptainLi 阅读(219) 评论(0) 推荐(0) 编辑
摘要: "传送门" 形式化题意:一棵树,对于每个节点赋予一个给定的权值,使得每个节点都不大于子树内节点,同时满足编号小的点尽可能大。 首先在所有给定的数不同的时候只要贪心一次,从小到大把数排序,之后建树在上面跑dfs,按dfn从小到大给权值。 但是这样在有相同的数据的时候是会错的。因为有可能通过交换使得子树 阅读全文
posted @ 2019-03-11 00:05 CaptainLi 阅读(233) 评论(0) 推荐(0) 编辑
摘要: "传送门" 好题呀。 首先两者所拿的集合必然是不相交的。首先我们考虑30分的暴力做法,30以内质数很少,我们可以进行一波状压,用$dp[i][j]$表示第一个人取集合i,第二个人取集合j的方案数。我们记录当前数字的质因子集合为k,之后就可以进行转移了。 但是数据范围到了500,就会导致无法状压那么多 阅读全文
posted @ 2019-03-07 19:06 CaptainLi 阅读(123) 评论(0) 推荐(0) 编辑
摘要: "传送门" 我们令$g(n)$表示有n个点的无向图的个数,$f(n)$表示有n个点的无向连通图个数。 $g(n)$比较好求,因为一共有$C_n^2$条边,每条边可以选或者不选,所以自然有$g(n) = 2^{C_n^2}$. 之后我们换一种方法,在节点1所在的联通块中有多少个节点,剩下的只需要随便连 阅读全文
posted @ 2019-03-02 10:45 CaptainLi 阅读(131) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 35 下一页