09 2019 档案
摘要:Solution 众所周知这是一道dl贪心 Step 1 如果没有先后染色的顺序让你去染色,你肯定会先把最大的节点先染了,但是如果有了限制,类似的,就会把子节点中最大的点先染了,所以两个操作会是连续的。 所以假设待染色的点分别为 x,y,z ,其中 x,y 已知是连续染色,则只有两种染法 1.x+2
阅读全文
摘要:Solution 这一道题又是一个典型的区间问题,可以抽象理解为选出尽量少的点,使每个区间至少有一个点。 可以通过贪心的方法来做,有两种方法,很明显这个点要放在区间的末尾,能够更好地共享。 1.1. 通过排序左端点 将左端点从小到大排,能安排的尽量在原有的基础上往前挪,因为不会影响之前得到的值。 具
阅读全文
摘要:Solution 通过贪心维护连续区间的左端点和右端点,利用左端点单调递增可以减少冗余操作,等到全部加上了之后再统计 Code
阅读全文
摘要:一道典型的贪心 抽象一下,其实就是区间中,不相交区间可以组成一条链,求链的最少数量 Solution 证明其实很简单,你只要找到一个能用的丢进去就好了,因为不管丢到哪一个栅栏,最后都还是要算最后时间的,所以其实没有差别
阅读全文
摘要:Solution 先按照 minSPFminSPF 递减排序,之后找到可用的最大的防晒霜,进行安排。 证明 设 SPF[X]<SPF[Y]SPF[X]<SPF[Y] ,如果当前奶牛都可以用,那么后面的奶牛只能有三种情况 1 . X 和 Y 都可以用 2 . X 可以用, Y 不能用 3 . X ,
阅读全文
摘要:首先翻译一下题面,其实就是给定两个位置a和b,中间的数都要比a和b小,那么我们可以想到用一个差分数组,a+1到b-1都-1,就可以更新身高,最后再一起输出
阅读全文
摘要:做题5分钟,调题一小时 总结错误: 1.剪枝 2.去重数组不好处理,会错,所以不能采用 Code
阅读全文
摘要:Solution 一道神仙暴力剪枝题,思路是在9*9的数独之上,再多添加3个剪枝 1.判断每个空格中,如果一个字母都填不了就返回,如果只能填一个,就填上并继续搜索 2.对于每个字母,在每行\列\16宫格中判断能填的位置,如果没有就返回,如果只有一个就填上,并继续搜索 3.在上述剪枝完成后,再用位运算
阅读全文
摘要:这是一道暴力都能过的题,重点其实在于理解题意,输入过程也有一点繁琐。 1.题意 先给定一个无向图,要重新安排结点的顺序,使得相邻的节点在排列中的最大距离最小 2.Solution 明显的爆搜,难就难在如何建模,其实只要把出现过的字符放到一个数组记录起来,然后搜索的时候依次安排每个节点的字母 分块讲解
阅读全文
摘要:这一道题就是典型的带权并查集,首先每个点出度都是一,要回到本身的最小距离也就是环的最小长度,自然而然想到用并查集来维护。 再在更新之后才get就剁手
阅读全文