
思维
思维题
Mr.琛
钻石要琢磨
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
洛谷P5019 铺设道路(贪心/分治)
这道题一看到的思路是分治:每次找到最低点,每个坑相应地填最低点的高度,然后divide为最低点左右两部分按此思路继续divide,直到 l>r 时结束。分治的做法按提供的样例可以过,但是分治的时间复杂度在[nlogn, n^2]之间,n最大为1e5规模,如果卡了 n2 的样例会TLE。分治代码:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const .原创 2020-09-03 15:05:15 · 475 阅读 · 0 评论 -
HDU3348--coins(贪心+思维)
题意: 你有面值为1,5,10,50,100的钱币分别若干张;求购买某一价值的物品所花的最少和最多钱币数。思路:(1)最少的钱币数: 由于面值分别为1,5,10,50,100;大面值都可以由小面值凑数转化而来,故贪心策略适用,从大面值开始枚举,每次取当前能取的最大面值。(2)最多的钱币数: 此时采用贪心策略不再成立了,因为若从小面值开始枚举,当前的最优解并不一定是全局的最优解了。(i.e. ...原创 2020-01-24 17:02:35 · 548 阅读 · 0 评论 -
poj2431--Expedition (优先队列+思维)
题目如下:题意:牛坐在漏油的卡车上,要到最近的小镇修车,汽车每走一单位距离就要漏一单位油,路途中有n个加油站,给出n个加油站距小镇的距离和能加油量,给出卡车原有的油和出发点到小镇的总距离,求到小镇最少的加油次数(不能到则输出 -1)思路:若牛到达每个加油站都考虑加或不加,就变成有点像复杂动态规划了,这里换一种想法,牛经过加油站假设先把油拿走,但是不一定要加,等到走不动了在取当前走过的里面最大的...原创 2019-11-16 21:00:27 · 160 阅读 · 0 评论 -
Ants(POJ 1852)/Piotr's Ants(UVa 10881)思维题
对于POJ这道,题目并没有问区别ants的问题,故直接利用不同蚂蚁相撞视作穿过对方即可。对于UVa这道,不同蚂蚁的输出顺序不同,思路:1. 先按照不同蚂蚁能够穿过对方,求出该蚂蚁能到达的地方,在该处一定有一只蚂蚁能够到达; 2. 不同蚂蚁在t秒前后相对位置不变的,因为蚂蚁实际上并没有穿过对方,故按距离左端点排序t秒后仍是该顺序。POJ1852:#include<cstdio>#...原创 2019-07-30 14:56:29 · 208 阅读 · 0 评论 -
CodeForces - 719B (Anatoly and Cockroaches) 思维题
题意:每次操作可换掉一只蟑螂的颜色,或者交换两只蟑螂的位置以达到交替出现不同颜色,求最小操作数。#include<cstdio>#include<cstring>#include<algorithm>#include<math.h>using namespace std;//最终的串要么为rbrbrbr...型,要么为brbrbrbr.....原创 2019-08-05 10:52:29 · 163 阅读 · 0 评论 -
p1031--均分纸牌(思维)
思路:由于第一堆和最后一堆是比其他中间的堆特殊的(因为其只能单方向),考虑从第一堆开始,第一堆只有三种情况,要么拿2的,要么给2,要么什么也不干(废话…),但是这波操作之后第一堆就可以无视了(再重复拿排好的只是在浪费次数),这样第二堆就可以看成是新的第一堆,然后又可以递推下去。在拿下一堆的时候可能出现使下一堆为负数的情况,但也是一样的,相当于提前从后面的堆拿了多的牌。每次拿或给计数加1即可。#...原创 2019-08-21 14:31:15 · 172 阅读 · 0 评论