上一页 1 ··· 53 54 55 56 57
摘要: 小P的疑惑 题解,很明显,可以推出,。 源码 #include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> using namespace std; typedef long lon 阅读全文
posted @ 2019-11-09 17:26 StaroForgin 阅读(11) 评论(0) 推荐(0)
摘要: 十二桥问题 题解 笔者最开始没看见(k<=12),明明题名都给得如此清楚了,。好了,回到正题,k如此的小,我们可以考虑一下状压dp,方程式也很好想,根据每一条边去推就好了。问题是如果每次需要用两个端点距离时都去找一遍的话很有可能炸,我们可以考虑在开始时将所有端点都SPFA一遍,加上1,最多也只会SP 阅读全文
posted @ 2019-11-08 20:37 StaroForgin 阅读(11) 评论(0) 推荐(0)
摘要: 无形的博弈 题解 看了官方的题解,觉得讲的不太清楚。虽然我自己讲的也不清楚。我们可以发现,只要构造出一段连续的1就一定可以将整个序列全变为0,因为神树自能操作为0的点,我们只要能变出一个全为1的序列即可,我们可以将不太可能构成1的点变为0,保持可能为1的点一直为1,就一定能胜利。所以,无论如何,神J 阅读全文
posted @ 2019-11-08 20:21 StaroForgin 阅读(16) 评论(0) 推荐(0)
摘要: 仓鼠的石子游戏 题解 我们先看数量大于2的环,那么一定是先放入这个环的人输。所以只有个数为1的环会对答案产生影响,我们只需统计个数为1的环的数量。再判断它的奇偶性即可。 源码 #include<cstdio> #include<cmath> #include<cstring> #include<io 阅读全文
posted @ 2019-11-05 18:49 StaroForgin 阅读(8) 评论(0) 推荐(0)
摘要: 地形计算 题解 我们先考虑部分分 30分:玩命爆搜,反正只有4个点。时间复杂度 60分:采取meet in middle的思想,还是爆搜。时间复杂度 100分:在上面的基础上,我们可以从度大的点开始枚举,每次枚举完后就将其删去。时间复杂度貌似是,只优化了常数。但考虑一下,对于每个点,当它的度数小于时 阅读全文
posted @ 2019-11-04 16:45 StaroForgin 阅读(7) 评论(0) 推荐(0)
摘要: 货物分组 题解 我们可以先分析各个分数段的代码。 10分:直接爆搜出结果。时间复杂度 30分:考虑dp。指从前j个节点分i包的最小值,通过线段树维护区间最值。时间复杂度 60分:还是dp。指前i个已经分了若干包时整个序列的最小值。 ,是后缀和。时间复杂度 阅读全文
posted @ 2019-11-04 16:26 StaroForgin 阅读(7) 评论(0) 推荐(0)
摘要: 守卫 题解 这道题是一个区间dp。若中必须放一个点才能看完这个区间。 我们先确定右端点, 然后从左往右扫,记p为r能看到的最左端的点。在扫的过程中,用sum记录p及其右的答案。r最左边只能看到p,所以p-1 的纵坐标必定小于p即中,p与p-1中必定有一个点被选。 因此dp式为 扫的过程中,需要更新s 阅读全文
posted @ 2019-10-28 20:42 StaroForgin 阅读(19) 评论(0) 推荐(0)
摘要: 手机号码 题解 一道典型的数位dp,我们只需要将它的编号,是上一位,上两位,是否有三个连续,是否有4,是否有8,加入dp。我们可以用dfs,来更新数位dp。注意在dfs中加入是否达到当前最大值,来枚举当前数字。 源码 #include<cstdio> #include<cstring> #inclu 阅读全文
posted @ 2019-10-28 18:58 StaroForgin 阅读(10) 评论(0) 推荐(0)
摘要: Star Way To Heaven 题解 我们如果不能通过这个长方形,则各个引力带肯定可以形成一条从0到m的链,我们只需要求出从0到m的路径上最长的一条边即可。 源码 #include<cstdio> #include<cmath> #include<cstring> #include<iostr 阅读全文
posted @ 2019-10-28 18:46 StaroForgin 阅读(16) 评论(0) 推荐(0)
上一页 1 ··· 53 54 55 56 57