
思维
文章平均质量分 76
一介植树人
春桃无言,下自成蹊;冬梅不语,声及九霄
展开
-
2019年牛客多校第三场 I Median(DP+思维)
2019年牛客多校第三场 I(DP+思维)这道题,主要还是要想通,如果某个数被三个中位数影响,那么这个数可以是其中一个。证明:假设这个数,和三个中位数都不相等,那么这个数,要么大于最大的,要么小于最小的。举例(另一个例子就是对称的):假设这个数大于最大的,如果想要改变某个中位数,那么便需要将这个最大的调小;如果想要不改变三个中位数,那么这个数不变(依旧最大),或者直接和对应中位数相等即可。即:...原创 2019-07-30 09:27:08 · 226 阅读 · 0 评论 -
2019牛客多校训练第十场F Popping Balloons
2019牛客多校训练第十场F Popping Balloons题意:二维平面内给你若干个点,然后你可以在x轴和y轴分别射三枪(每一枪的间隔是R),问最多能射掉多少气球。题解:贪心。这个应该只能算作假算法吧。。。。不过大佬的思想还是很厉害。A:用一个哈希数组来记录x轴每一列有多少对应的气球,然后排序。假设当前的x坐标就是第一枪的坐标,然后记录有多少个气球能这样能击破。B:然后从大到小排序,只...原创 2019-08-17 20:46:44 · 272 阅读 · 0 评论 -
洛谷P2365任务分配(斜率优化+思维+DP)
P2365任务分配(斜率优化+思维+DP)题意:N个任务排成一个序列在一台机器上等待完成(顺序不得改变),这N个任务被分成若干批,每批包含相邻的若干任务。从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti。在每批任务开始前,机器需要启动时间S,而完成这批任务所需的时间是各个任务需要时间的总和(同一批任务将在同一时刻完成)。每个任务的费用是它的完成时刻乘以一个费用系数Fi。请确...原创 2019-08-22 16:12:08 · 318 阅读 · 0 评论 -
HDU(6695)2019杭电多校第十场1005
HDU(6695)2019杭电多校第十场1005(某某大佬的STL练习题)题意:给你几对点,其中每一对必须选一个点,问两个列的最大值的最小值是多少。这称为a,b列。题解:多个STL库混着用就完事了。A:把b列的所有值都放到multiset中(set不能放重复值,这个可以)B:根据a列的值sort从小到大一下,然后遍历一下,把之前的值都放在一个SET中。C:在遍历的过程中,每一次循环删除之...原创 2019-08-21 20:51:44 · 258 阅读 · 0 评论 -
杭电多校第七场 1011 Kejin Player HDU(6656)
杭电多校第七场 1011 Kejin Player题意:给你N行,代表从i级有花费a[i]元的r[i]/s[i]的概率达到i+1级,剩下的概率中可能会到达x[i]级。然后询问从L级到R级的花费会是多少。闲话:这场也是真自闭了,开始先去看fianl exam去了,然后疯狂自闭近两小时,最后看最后一题A了很多人就去看看了,开始想线段树+概率DP,百度了很久学习这个东西,然后突然发现其实递推就可以了...原创 2019-08-12 19:33:34 · 269 阅读 · 0 评论 -
洛谷P1523 旅行商简化版(DP常用思想)
洛谷P1523 旅行商简化版题意:一个及其简化的NPC问题,具体看题目吧。题解:一道DP思维题,自己的想法三重循环而且写错了,路漫漫其修远。A:这道题是一个来回的问题,那我们可以想象就是找两条完全不重合的路(也可以两个人来走两条完全不同的路),都从最西边到最东边。(DP经典思想)B:由上述的想法出发设计DP,DP[i][j]代表了,第一个人到i节点,第二个人到j的花费。要求i<jC...原创 2019-08-20 19:41:42 · 330 阅读 · 0 评论 -
2019牛客多校第八场 B Beauty Values
2019牛客多校第八场 B Beauty Values题意:给你一串数字,求出每个连续字串中有多少个不同的数字。闲话:今天全天不在状态(19年不再碰KFC了),幸好队友给力,我只想到了一点点东西,就突然A掉了。这题比赛的时候推了半天没弄明白,晚上看队友的代码有了一点理解。写在这里。题解:一个递推的思维。记录每个值对多少个区间有贡献,当重复出现的时候,就减掉贡献,相当于抹去了其贡献,加入了新...原创 2019-08-10 21:37:49 · 164 阅读 · 0 评论 -
2019杭电多校第9场1002 Rikka with Cake HDU6681
2019杭电多校第9场1002 Rikka with Cake HDU6681题意:给你若干个点按上下左右切割平面,最后问平面内有几块被切割开来。解法:红黑树+思维+贪心A:容易得出,平面内有多少个交点,那么就有这么多个+1的平面被分割出来,所以这题目就是找点。B:将U,D,L,R分开来存在四个结构体中,然后分类讨论U和L相交的点数,U和R相交的点数,D和L相交的点数,D和R相交的点数,最...原创 2019-08-19 17:43:49 · 229 阅读 · 0 评论 -
HDU杭电多校第五场 6628 permutation 1
HDU杭电多校第五场 6628 permutation 1题意:找某个序列字典序的第K个差值序列的。闲话:一直以为是有公式的,以为可以/8!然后mod7!这样一直往后做,过了几组样例然后就被反驳了。后来去了解了一下8!的解法,真的暴力。解法:对于后8位进行全排列,然后利用sort找差值序列里面第k个字典序的序列,输出。时间复杂度真好可以卡过,我的程序跑了800ms+。小于8位的直接全排列就O...原创 2019-08-06 20:37:54 · 158 阅读 · 0 评论 -
2019牛客暑期多校训练营(第7场)C Governing sand
2019牛客暑期多校训练营(第7场)C Governing sand题意:给你N种树,第一列是高度,第二列是砍伐一颗的代价,第三列为多少颗。需要让最高的树的个数是所有树个数的一半多,问达到这样的最小的代价为多少。闲话:比赛最后12分钟才想到一个合理的优化,赛后才A出来,也是很难受了。题解:暴力+贪心枚举。A:大致思路:无论在什么情况下,那颗树的高度都是N颗树的高度中的一颗,那么遍历整个N,...原创 2019-08-08 20:41:03 · 248 阅读 · 0 评论 -
牛客多校第5场 G题 subsequence1
牛客多校第5场 G题 subsequence1题意:一个S的串中有多少个比T大的子序列(不连续的),要取模。题解:纯DP的题目。建立一个三维DP[i][j][3],i,j代表了S的前i项有多少种子序列能匹配T的前j个数字。最后一个维度3,代表有三个矩阵,一个是S的前i项有多少种子序列能大于T的前j个数字(2),个是S的前i项有多少种子序列能等于T的前j个数字(1),个是S的前i项有多少种子序列...原创 2019-08-02 11:21:52 · 143 阅读 · 2 评论 -
杭电多校第5场1004(HDU 6627)equation
杭电多校第5场1004(HDU 6627)equation题意:给你若干个a,b让你解决一条公式,解方程。传送门解法:每个绝对值内部都有一个零点,对这些0点排序,所有绝对值的情况只剩下N+1种。从全为负的,到第一个绝对值内部为正,然后第一第二个为正,一直推到全为正的,每次解方程然后判断值是不是在这个区间内。注意判断-1和0。(WA到绝望,赛后对拍数据发现过了98%的样例,只是特判-1的情况写...原创 2019-08-08 11:17:44 · 178 阅读 · 0 评论 -
【2019杭电多校第五场1006=HDU6629】string matching
题意:求一个字符串的所有后缀子串和原串的比较中要比较几次,才能得到最长公共前缀。题解:扩展KMP裸题,用KMP推了2小时硬是没有弄出来,最后队友问我还有什么比较算法,突然想到还有扩展KMP然后百度了一下就直接过了。(谢队友不杀)听说还有用马拉车过的。。。。PS:首先,所有的extend[i]+1,因为一个长度为N的串,那么其比较次数必然>=N。所有扩展KMP的extend[i]中,如果...原创 2019-08-05 20:59:35 · 180 阅读 · 0 评论 -
2019牛客暑期多校训练营(第六场)J Upgrading Technology
2019牛客暑期多校训练营(第六场)J Upgrading Technology题意:给你N个技能,每个技能有M个等级,第Ni个技能从Mi级到Mi+1级的代价为矩阵中的D[i,i],当每个技能都升级到i级后,有一个必须领取的d[j]的奖励。问:最大的收益会是多少。题解:我的方法是一种暴力枚举,听别人说其实本质是一种DP,但是我感觉这个一个贪心+思维。A:我们来考虑一下,结果会是怎么样的。即所...原创 2019-08-05 09:36:56 · 188 阅读 · 0 评论 -
HDU6620 杭电多校第四场1007 Just an Old Puzzle
HDU6620 杭电多校第四场1007 Just an Old Puzzle题意:就是让你还原一个矩阵到原图中的目标矩阵(不过那些看七巧板的人是怎么发现这个目标矩阵的。。)解法:网上看到了一个逆序矩阵的话:假如两个矩阵,从左到右,从上到下排序,两个矩阵的逆序数+空所在行+空所在列数的值的奇偶性相同,则可以还原或者说等价;若不同,那就无法还原。emm,在我实际写这题目的时候,出现了一点问题,我的...原创 2019-08-01 09:43:17 · 160 阅读 · 0 评论 -
HDU6623 2019杭电多校第四场1010 Minimal Power of Prime
HDU6623 2019杭电多校第四场1010 Minimal Power of Prime题意:给一个数,将其分解为若干个质因数的乘积,问:其中重复出现次数最少的个数是多少。如:36 = 2 * 2 * 3 * 3,2出现两次,3 出现两次,最少的还是两次,输出2.PS:鬼知道这么短一道题目怎么有这么长的意思,要不是队友想出来,我就炸了题解:分析一下,将数分为小于1e4的与大于的数。A:...原创 2019-08-01 08:57:42 · 195 阅读 · 0 评论 -
2019年牛客多校第三场 F(暴力+思维+模拟单调队列)
2019年牛客多校第三场 F(暴力+思维+模拟单调队列)题意:找一个最大子矩阵,在这个子矩阵中最大的元素减去最小的元素,差值小于K。题解:A:首先,暴力遍历每一列,找到每一列的最大值,最小值。(这里不是简单的遍历)比如有3*3的矩阵,第1行所有列(每一列的最大值,最小值),第1-2行所有列(每一列的最大值,最小值),第1-3行;第2行,第2-3行,第3行。等等以此类推记录B:然后,开始从...原创 2019-07-26 18:02:09 · 227 阅读 · 0 评论 -
2019杭电多校第三场1007 HDU-6609 Find the answer
2019杭电多校第三场1007 HDU-6609 Find the answer题意:从第一项到第i项的前缀和,如果大于K,问最少删除多少个[1,i]区间内的元素才能小于等于K。因为一共有N个数,所以有N个前缀和,要输出N个值。PS:最后一个数后面也有空格,这个真的过分。题解: 建一颗空的[1,n]线段树(用来维护值的个数和总和)。因为第一个数一定符合(<=K),所以直接输出第一个0,...原创 2019-07-30 14:01:36 · 203 阅读 · 0 评论 -
bzoj[3262]陌上花开==洛谷P3801 (CDQ分治+树状数组)
bzoj[3262]陌上花开==洛谷P3801 (CDQ分治+树状数组)题意:三维偏序。给你N个花,每个花有三个属性。一个花的三个属性都分别大于等于另一朵花的时候,等级+1,问从0到N-1级,每一级有多少朵花。题解:这题目可以树套树,CDQ套CDQ,KD树等等。这里用CDQ分治+树状数组来解题目和解释。这里花的三个我用x,y,z来表示总的来讲就是,第一维度就直接sort排序,第二维度用CD...原创 2019-09-13 17:33:27 · 214 阅读 · 0 评论