Processing math: 100%

随笔分类 -  题解

上一页 1 2 3 4 5 6 ··· 8 下一页
摘要:"题目" 此题有多种贪心方法。 首先简化题意: 有几个在数轴上的区间,和几个在数轴上确定的位置的点,问用这些数目的点,最多能满足多少个区间里有点。 注意:此题跟区间选点问题不一样,每个点只能满足一个区间,而区间选点则可以满足多个区间。 进行贪心分析: 我们首先考虑区间,首先把最难满足的放在前面,可以 阅读全文
posted @ 2019-11-01 14:41 DAGGGGGGGGGGGG 阅读(117) 评论(0) 推荐(0) 编辑
摘要:"题目" DP或者说是递推。 首先我们考虑一定要让吃饭慢的人排在前面,因为打饭的时间其实是固定的,所以首先要考虑吃饭慢的人先吃饭。然后再考虑两个窗口的问题。设置dp[i][j]为前i个人在1号窗口打饭时间为j时,所用的最小的结束时间。只需知道前i个人的打饭时间,即可推出前i个人在2号窗口打饭的时 阅读全文
posted @ 2019-10-31 18:14 DAGGGGGGGGGGGG 阅读(104) 评论(0) 推荐(0) 编辑
摘要:"题目" 第一问: 用广搜类似用floodfill的方法。 第二问: 暴力枚举加剪枝,对于每个连通块,枚举跟这个连通块相连的其他与他颜色不同的连通块,然后向外扩展合并颜色与他们俩相同的连通块。扩展合并颜色的时候需要在以每个连通块为节点的图上广搜,每次都将不在当前双色连通块内连通块且颜色和当前双色 阅读全文
posted @ 2019-10-31 08:22 DAGGGGGGGGGGGG 阅读(178) 评论(0) 推荐(0) 编辑
摘要:"题目" 二分+随机化贪心 首先我们有每次优先选择口小的人吃蛋糕的贪心策略。然后因为嘴巴的多少和填满嘴巴的困难程度存在单调关系,因此可以二分嘴巴的多少。而这个嘴巴个数为mid的时候,意味着我们需要满足前mid小的嘴巴都能被填满。判断能否填满时,可以用随机化贪心check。 此时贪心策略发生了变化 阅读全文
posted @ 2019-10-30 16:45 DAGGGGGGGGGGGG 阅读(266) 评论(0) 推荐(0) 编辑
摘要:"题目" 有可以直接找maxn[i][j][t](i,j)为左下角长度为t的正方形内的最大值。 然后可以有以下转移: $maxn[i][j][t] = Max(maxn[i + 1][j][t 1], maxn[i][j][t 1], maxn[i][j + 1][t 1], maxn[i 阅读全文
posted @ 2019-10-29 11:48 DAGGGGGGGGGGGG 阅读(146) 评论(0) 推荐(0) 编辑
摘要:"题目" DP 此题可以分为两个子问题。 m等于1: 原题目转化为求一行数列里的k块区间的和,区间可以为空的值。 直接定义状态dp[i][t]表示前i个数分为t块的最大值。 因为区间可以为空,所以最大值再小也不会比0小,所以初始化dp值为0。 有方程$dp[i][t]=max 阅读全文
posted @ 2019-10-28 21:36 DAGGGGGGGGGGGG 阅读(125) 评论(0) 推荐(0) 编辑
摘要:"题目" DP,直接递推比记忆化搜索简单。 定义状态dp[i][j]为前i行最后一个选择第i行第j个数所得到最大值。 易得状态转移方程 dp[i][j]=max(dp[i1][k]+a[i][j]) 这个题比较困难的就是在jk的枚举上。j要满足选j的时候一定要比i大, 阅读全文
posted @ 2019-10-27 21:15 DAGGGGGGGGGGGG 阅读(185) 评论(0) 推荐(0) 编辑
摘要:"题目" 双向链表+倍增+模拟。 70pts: 说白了此题的暴力就是细节较多的模拟题。 我们设离i城市最近的点的位置为B[i],第二近的位置为A[i]。设AB数组等于0的的情况不能接下去走到第二或第一近的位置。 1. 处理到底能不能继续向下走,即当前城市下一步无法选择城 阅读全文
posted @ 2019-10-27 16:37 DAGGGGGGGGGGGG 阅读(178) 评论(0) 推荐(0) 编辑
摘要:"题目" 树形DP,定义状态dp[i][j]i的子树保留j个节点,且i不连接父亲所需要删去的最小值。 初始化:dp[i][1]等于与i相连的边数,只需要保留一个节点且要和父亲断开,那只能是i这一个节点,其他跟i相连的节点都要断开。 有转移方程$dp[i][j]=min(dp 阅读全文
posted @ 2019-10-26 15:50 DAGGGGGGGGGGGG 阅读(170) 评论(0) 推荐(0) 编辑
摘要:竞赛中找环有许多种问题,判断是否有环,找到环上的点,找到环上的边等等。 而只需要找到环上相邻的两点,或者环上的一条边就可以解决这三个问题。 有向图中,可以用拓扑排序的方法,把将拓扑排序完后限制条件仍未被清零的点即在环上的点。 阅读全文
posted @ 2019-10-26 11:26 DAGGGGGGGGGGGG 阅读(2611) 评论(0) 推荐(0) 编辑
摘要:"题目" 数论,考虑原题给的公式,得出i%j=i(i/j)j) 原题求i=ni=1(k%i)=i=ni=1(ki(k/i))=kni=ni=1(i(k/i)) 因此原题转化成了快速求$\sum_{i=1}^{i=n 阅读全文
posted @ 2019-10-26 07:45 DAGGGGGGGGGGGG 阅读(140) 评论(0) 推荐(0) 编辑
摘要:"题目" 树形DP,首先考虑递归建图,类似于线段树的中序遍历。然后取状态dp[i][j]表示i点花费j时间所偷到的最多的画,有方程: dp[now][nwt]=max(dp[now][nwt],dp[lso][i]+dp[rso][nwtidata[now].t]); 注意三点: 阅读全文
posted @ 2019-10-25 21:42 DAGGGGGGGGGGGG 阅读(154) 评论(0) 推荐(0) 编辑
摘要:"题目" 区间dp。但是跟平常的区间dp不同的是,这个题仅仅只是运用了区间dp的通过小区间的信息更新大区间的信息,而没有运用枚举断点的区间dp一般思路。 这个题我们首先发现每个人在插入的时候一定插入到队伍的最前方或最后方,所以当要插入该数的时候,要比较的数是队伍的最前方或最后方,然后用加法原理。与其 阅读全文
posted @ 2019-10-25 08:39 DAGGGGGGGGGGGG 阅读(114) 评论(0) 推荐(0) 编辑
摘要:"寻宝" 模拟加优化,细节比较重要。 我们用ti[i]表示i这一层有楼梯的个数,然后我们把当前1号点的数据mod上ti[i],然后使该数不能等于0,就行了。 c++ include define int long long const int mod = 20123; using namespace 阅读全文
posted @ 2019-10-24 08:56 DAGGGGGGGGGGGG 阅读(130) 评论(0) 推荐(0) 编辑
摘要:"题目" 对于这种题目描述比较长的题,可以考虑简化题意。 简化后的题意: 给定一棵带边权无根树 在其直径上求出一段长度不超过s的路径F, 使得离路径距离最远的点到路径的距离最短。求最短距离。 根据题目范围,直接暴力floyd求多源最短路径。然后n2求出直径和直径端点。搜索求出直径上的点。然后再 阅读全文
posted @ 2019-10-23 19:54 DAGGGGGGGGGGGG 阅读(121) 评论(0) 推荐(0) 编辑
摘要:"题目" 求树的直径,因为任意两个居住点之间有且只有一条通路,所以这是一棵树。 根据题意父母先从C去A,再去B,或者反过来。 我们一定是要让A到B最大,也要让C到A和B的最小值最大。 AB最大一定就是直径了。 CA最大直接先求出任意一条直径的两个端点,必定一个是A、一个是B。然后枚举C,找到最大的$ 阅读全文
posted @ 2019-10-23 19:19 DAGGGGGGGGGGGG 阅读(159) 评论(0) 推荐(0) 编辑
摘要:"题目" 贪心+堆。 一般贪心题用到堆的时候都会存在一种反悔操作,因此这个题也不例外。 首先电缆一定是连接两个相邻的点的,这很好证明,其次一个点只能被一条电缆连接,所以我们通过选这个电缆,不选相邻电缆和选相邻电缆,不选这个电缆之间选择,然后添加反悔操作。 链表的存在是为了方便删除线段。用l,r分别表 阅读全文
posted @ 2019-10-23 17:27 DAGGGGGGGGGGGG 阅读(114) 评论(0) 推荐(0) 编辑
摘要:"题目" DP或者迭代加深搜索,比较考验递归的搜索。 题目第一问可以用迭代加深搜索限制层数。 第二问需要满足字典序最小,所以我们可以在搜索的时候把比当前答案字典序大的情况剪枝掉。 然后考虑怎么搜索,对于每一位我们都要先搜索出每一位所能到达的所有情况包括选或者选几个。 c++ include defi 阅读全文
posted @ 2019-10-23 10:55 DAGGGGGGGGGGGG 阅读(130) 评论(0) 推荐(0) 编辑
摘要:"题目" 搜索,注意判断特殊情况,并且区分开什么时候转弯什么时候停止。然后转弯的时候更是要注意是否会进入障碍。 阅读全文
posted @ 2019-10-22 20:08 DAGGGGGGGGGGGG 阅读(146) 评论(0) 推荐(0) 编辑
摘要:"题目" 此题数据范围小的话可以用区间DP,但是该题目的数据范围并不能用区间DP来求解,因此我们考虑优化DP。 每个数的生成一定是由这两个区间 考虑区间DP的弊端是并不知道每个数生成的区间是什么,所以需要枚举,而这枚举的时间就浪费了。因此考虑以区间信息为状态,在找到区间信息里比较好转移的状态 阅读全文
posted @ 2019-10-22 10:22 DAGGGGGGGGGGGG 阅读(170) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 8 下一页
点击右上角即可分享
微信分享提示