贪心
luckyone2014
想思路是苦涩艰辛的,但是打代码是愉快的。
展开
-
POJ 3404 Bridge over a rough river 贪心,每次算最大的两个人去对岸的最少用时
题目的意思是有一座桥,开始有n个旅行者在桥左边.问怎么才能最快全体通过这个桥.要求是,这桥每次最多过两个人,所需要的时间取决于比较慢的那个人,而且过去的时候要带上火棒来照明,火棒只有一个,所以除了最后一次过去的人,之前都要有人把火棒给拿回来给后面的人用.输入的n代表人数, ti 代表每个人过桥的用时.再人数比较多的时候 ,这里有两种可能,接下来讲解下第一种可能①A代表 速度最快的人 ti最小B代表 速度第二快的人Y代表 速度第二慢的人Z代表 速度最慢的人 ti最大如果ABYZ数值差距原创 2014-08-03 21:53:30 · 1129 阅读 · 1 评论 -
hdu 5090 Game with Pearls 贪心
题意:有n个盒子,给你盒子初始各有几个豆子,每次可以在一个篮子里放k个豆子,问可能不可能放若干次后,有1个豆子,2个豆子。。。。。n-1个豆子,n个豆子的篮子各有一个。问你行不行。做法:贪心,每个篮子每次+k,遇到之前没有这个数目的情况出现,就确定下来。原创 2015-05-05 21:16:27 · 1050 阅读 · 0 评论 -
cf 540b School Marks 贪心
题意:一共要写n个数,已经写了k个数,要求写出接下来的n-k个数。要求每个数小于等于p,大于等于1。所有数总和小于等于x。中位数必须是大于等于y。做法:贪心,因为有上限要求,又要改变中位数,所以只需要用到1和y就可以了。统计大于等于y的个数,不够n/2+1,就用y补,剩下的全放1就可以了。原创 2015-05-01 10:21:00 · 914 阅读 · 0 评论 -
zoj 4704 Unrequited Love 贪心 孤独者
题意:n+m个人,各自喜欢num个人。 然后q个询问,每个询问给你num个人,问你在这num个人中,是否有个孤独者喜欢这num个人中的所有人,但是这num个人都没喜欢他。做法:首先明确的是,这里只可能有一个人符合要求,否者 条件矛盾 。先假设这个人 是0号,从从小到大枚举 这num个人,假设第i个人是这个孤独者,那么i+j个人如果喜欢i,或者i不喜欢i+j,那么i就不符合条件,接下来就假设这个孤独者是i+j。i+j之前可以断定不是孤独者。 到最后就可以得到假设的孤独者,然后从0开始再循环一遍,判断他是原创 2015-04-23 22:34:59 · 779 阅读 · 0 评论 -
zoj 3327 Friend Number 贪心
题意:找出比n大的 最小的数,要求每个位上的数字 乘积 与n每个位上的数字 乘积要相等。参考了别人的题解做法:如果有0 ,特殊处理。分为末尾只有一个0,不是这种情况。1、如果只有个位一个0,就从十位上往高位找,找不是9的,找到加1,结束。找的过程遇到9,都改为0。如果都是9,就在数字最左边加一个1。2、如果有0,且不是上诉情况,那就直接从个位往高位走,遇到9,变0,遇到非9 ,加1,结束。3、如果没有0的话,把从个位开始,素数分解,并记录所有的素数。分解完一位,就判断下分解出来的素数能不能组原创 2015-04-19 11:13:31 · 1093 阅读 · 0 评论 -
URAL 1303. Minimal Coverage 贪心
题意:给很多段 区间,以0 0结尾,求最少多少段可以覆盖 0-M。做法:贪心就好,先找l小于0中r最大的那一段,然后在把最大的r 做为边界nw,找下一个l<nw中r最大的那一段,不断得找,知道nw超过M跳出。原创 2015-03-23 22:31:11 · 770 阅读 · 0 评论 -
URAL 1826. Minefield 贪心
题目:有n个人在雷区的左边。他们各自有自己跨越雷区的所需时间。他们只有一个扫雷器。为了能安全通过,他们只能两个人或者一个人带着扫雷器在雷区里走。两个人走过雷区的时间,以时间长的算。因为只有一个扫雷器,如果左边还有人,右边的人还要把扫雷器送回到左边。注意开始只有两个人的时候的特判。走法:当人数大于不等于四个人的时候。 有两种走法。 挑出 走的最快的a,第二快的b。然后再从 最慢的 z,和第二慢的 y开始。 原则 是a,b来送z和y过去,但是a,b 要回到左边。这里有两种走法,一种只用到a, a和z一原创 2015-03-15 20:42:47 · 753 阅读 · 0 评论 -
hdu 1055 & poj 2054 Color a Tree 树&贪心 找最大费用点和父节点合并
有一颗树,需要给他每个点都染色。节点标号从1-n,每个节点的权值在输入的第二行给出。 要求必须父节点已经染色,子节点才可以染色,需要按拓扑顺序染色。然后每个节点需要一个单位的染色时间。时间从1开始,计算费用时,每个节点的费用是当前时间*节点的权值。第三行开始 接下来的输入是树的父亲和儿子的关系。原创 2015-03-02 20:12:17 · 791 阅读 · 0 评论 -
URAL 2000 Grand Theft Array V 贪心
题意:n表示有多少格子, 后面输入的是 f和s 所处的格子。f和s轮流一步步走,f先走,格子经过的地方都算自己得到的分数。输出各自最高得分。做法:贪心, f和s之间的数是偶数就平分,靠近f的数归f靠近s的归s。 如果是基数,f多得一个数。然后 f 和s各自到终点和起点一侧的分数归自己。 直接输出就好了。原创 2015-02-12 14:37:01 · 567 阅读 · 0 评论 -
zoj 3041 City Selection yy的题
City SelectionTime Limit: 5 Seconds Memory Limit: 32768 KBThe government decided to build some cities in a newly developping area. Now they had N different locations to select from, w原创 2015-02-12 09:24:41 · 476 阅读 · 0 评论 -
Min Number 贪心,把最小的数放在最前
贪心题,详情见代码原创 2014-12-05 20:24:51 · 1175 阅读 · 0 评论 -
hdu 2577 How to Type 如何保证英文输入状态下,可以按最小次数来完成输入
问:打出那段字母一共要按几下键盘,shift 按后只能输入一个字母。开始和最后CAPS都要保持关闭状态思路:如果有两个连续的字母是大写或者小写的话,就可以按一次CAPS,因为就算只有两个,这和按shift 是等价的,都是一共四次;如果后面还有连续的话,CAPS就更节省按键次数了;所以贪心,凡是两个以上的连续串都改变CAPS,单独一个的话,选择按shift来改变大小写;但是最后一个字母要注意下,如果最后一个字母是小写,而当前CAPS是开启的,那要选择关闭CAPS;这样最后不用多按一下来关闭CAPS;原创 2014-09-12 16:25:26 · 986 阅读 · 0 评论 -
CF 464 A No to Palindromes! 找到最后靠后的可变字母;
先从后向前遍历一遍;每个位子,从当前字母慢慢增加,直到找到和前面两个字母均不同的一个字母,且不能超过限制m;变化的是尽可能后面的字母,从而保证结果出来的字典序最小;找到即是有答案;因为原来的是没回文的。 那么把找到后一个的字母从a开始遍历一遍,从最左边开始,从而保证结果字典序最小;原创 2014-09-08 21:30:41 · 941 阅读 · 0 评论 -
hdu1231 最大连续子序列
最大连续子序列Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 18168 Accepted Submission(s): 8060Problem Description给定K个整数的序列{ N1, N2原创 2014-07-13 10:56:28 · 635 阅读 · 0 评论 -
POJ 3399 Product k个 正负整数,找乘积最大的
题意是给你n个数字,然后挑出k个数字,乘起来. 找哪几个数字乘积最大.我是用贪心的思想. 从绝对值最大的开始找. 如果是负数,就要成对成对加到ans数组里. 当ans只能放入一个数的时候, 要判断下, 具体的看代码里的备注吧.如果 最后找不到 k数字相乘能大于等于0 的话, 就把前n个绝对值最小的数 输出就行了. 因为肯定是负数或者小于零了,所以要让product尽可能地小.原创 2014-08-03 18:30:08 · 1112 阅读 · 0 评论 -
hdu 1789 Doing Homework again 贪心
题意:有n个任务,第一排是任务完成的最后时刻,第二排是任务不在指定时刻完成所受到的惩罚。做法:优先要做分高的,然后每个任务找离自己最近的时间,且没有被占据的时间点去完成这任务。如果在截止时间前已经没有空闲时间,就是不能完成了。原创 2015-07-09 22:10:16 · 873 阅读 · 0 评论