[版权声明] 本站所有资料由用户提供并上传,若内容存在侵权,请联系邮箱。资料中的图片、字体、音乐等需版权方额外授权,请谨慎使用。网站中党政主题相关内容(国旗、国徽、党徽)仅限个人学习分享使用,禁止广告使用和商用。
信息学奥赛一本通(C++版) 第二部分 基础算法 第六章 贪心算法
不适合初学者做的题如下
//如果是直接删掉最大的数字,很容易便可举出反例:
//如果直接删最大的9,结果为152,如果删掉5,结果为129,显然删掉5才是最佳答案。
//如果删最大的9,5,结果为1411,如果删掉4,5,结果为1119,显然删掉4,5才是最佳答案。
//删掉的是“山峰”,也就是比后一个数大的数,且越靠前“山
//大体思路也就一句话:删除靠前的“山峰”。
//另外,有几个坑不得不提:
//怎么删呢?如果你认为是删8,那就错了。如果删8,得124365,但如果删4,得123865,哪个更小呢?毫无疑问是后者吧。那如果是呢?最后删到124就删不掉了,所以还有一个条件,如果删了一遍,删不掉,就删去最后一个。大概意思就是这样,由于这道题没有出现有0的情况,所以我在这里暂时不讨论,可以自己想想。
//代码彻底推翻重来,样例通过,提交,未通过,
//提交,测试点2,6答案错误
//针对上述两组输入输出数据进行修改,提交AC 17:13
// 算法模型:给n个闭区间[ai,bi], 在数轴上选尽量少的点,使每个区间内至少有一个点。
// 算法:首先按b1<=b2<=…<=bn排序。每次标记当前区间的右端点x,并右移当前区间指针,直到当前区间不包含x,再重复上述操作。
// 如下图,如果选灰色点,移动到黑色点更优。
//通俗的想,把区间想成一块块木板,把要找的点想成钉子,如果你的钉子很靠前的话,后面的木板就可能钉不到,每次把钉子钉在你要钉的木板最后,
//这样它就能顺便钉更多木板啦
//下面代码的看点有 多关键字快排
//样例通过,提交AC
//一般最容易想到的方法就是先计算正整数N用二进制表示时1的个数count1,然后不停地计算N++用二进制表示时1的个数count2,直到碰到count1 == count2成立
//编码,样例通过,提交AC
//此题乍一看貌似很难,又看看了一下poj里ac和提交的比例,一开始就想偏了一直在考虑怎么用贪心算法来解题
//(当然此题就是贪心算法,不过有很简便的解答而已)。其实对于每一组数据只要判断最大的那个数是不是比其余的数的和都要大,
//如果成立的话那当然就是剩下的所有电池与最大的电池车轮战,最大为n-1个数的和,如果不成立的话那么最大就是n个数的和的一半,
//也就是说电池是一定可以全部用完的。讲一下简单的证明过程,每次先对N个数进行排序,然后最大电池每次与其余电池PK一小时,
//如此进行下去最后必然是三种情况中的一种即(2 1 1)(1 1)(1 1 1),这三种情况都是可以用完的,所以电池必定会全部用完。
//知道了这一点程序就很简单了。
//N(2≤N≤1000)用冒泡排序即可,转念一想,没必要,只要找出最大值即可
//样例通过,提交AC
//最简单的思路就是直接暴力枚举每个点,判断它的右上方是否有其它点,如果没有则该点即为极大点,这种算法的时间复杂度为O(n^2),对于n=100000的数据显然会超时。
//真是被这道题吓到了,没想到实践起来确实如此的简单。样例通过,提交AC 18:46
//如果是直接删掉最大的数字,很容易便可举出反例:
//如果直接删最大的9,结果为152,如果删掉5,结果为129,显然删掉5才是最佳答案。
//如果删最大的9,5,结果为1411,如果删掉4,5,结果为1119,显然删掉4,5才是最佳答案。
//删掉的是“山峰”,也就是比后一个数大的数,且越靠前“山
//大体思路也就一句话:删除靠前的“山峰”。
//另外,有几个坑不得不提:
//怎么删呢?如果你认为是删8,那就错了。如果删8,得124365,但如果删4,得123865,哪个更小呢?毫无疑问是后者吧。那如果是呢?最后删到124就删不掉了,所以还有一个条件,如果删了一遍,删不掉,就删去最后一个。大概意思就是这样,由于这道题没有出现有0的情况,所以我在这里暂时不讨论,可以自己想想。
//代码彻底推翻重来,样例通过,提交,未通过,
//弄明白样例是关键:
//题目大意是:现在有一群人,到了一条河旁边,想要过河,但船只有一条,一次最多能载两个人,开到了对面还需要一个人负责把船开回来,而且若多人坐船,速度还是由慢的一个决定,现在求如何分配坐船,使总时间最短。刚刚看到这道题时,我还有一点惊讶,这么水的一道题,居然只有70多个人过了,只需要找到最快的一个,然后让他送每一个人到对岸就可以了,数据还不大。但不太放心的我还是模拟了一遍样例,然后吓死宝宝了,按我的思路,最短也要19秒(请无视单位),但是样例却是惊人的17秒,于是我叫来了同学们与老师一起讨论,然后得出了以下几种可能:/mrcrack/article/details/
1.一开始想的是队列,但觉得比较复杂。
2.稍微想了想,接完水,马上加上下一个接水的,也就是在最少耗时的水龙头上加上下一位。找最小值
3.最终找到最长时间的水龙头,即耗时。找最大值
//考点:输入,输出 ,找最大值,找最小值,函数的写法
1、篮球个数是足球的125%,篮球比足球多( )%,足球个数是篮球的( )%,足球个数比篮球少( )%。
2、排球个数比篮球多18%,排球个数相当于篮球的( )%。
3、足球个数比篮球少20%。排球个数比篮球多18%,( )球个数最多,( )球个数最少。
4、果园里种了60棵果树,其中36棵是苹果树。苹果树占总棵数的( )%,其余的果树占总棵数的( )%。
7、进口价a元的一批货物,税率和运费都是货物价值的10%,这批货物的成本是( )元。
1、白兔有25只,灰兔有30只。灰兔比白兔多百分之几?
2、四美食盐厂上月计划生产食盐450吨,实际生产了480吨。实际比计划多生产了百分之几?
3、小明家八月份用电80千瓦时,小亮家比小明家节约10千瓦时,小亮家比小明家八月份节约用电百分之几?
4、某化肥厂9月份实际生产化肥5000吨,比计划超产500吨。比计划超产百分之几?
5、蓝天帽业厂去年收入总额达900万元,按国家的税率规定,应缴纳17%的增值税。一共要缴纳多少万元的增值税?
6、爸爸买了一辆价值12万元的家用轿车。按规定需缴纳10%的车辆购置税。爸爸买这辆车共需花多少钱?
1、篮球个数是足球的125%,篮球比足球多( 25 )%,足球个数是篮球的( 80 )%,足球个数比篮球少( 20 )%。
4、果园里种了60棵果树,其中36棵是苹果树。苹果树占总棵数的( 60 )%,其余的果树占总棵数的( 40 )%。
7、进口价a元的一批货物,税率和运费都是货物价值的10%,这批货物的成本是( 1.2a )元。
1、白兔有25只,灰兔有30只。灰兔比白兔多百分之几?
2、四美食盐厂上月计划生产食盐450吨,实际生产了480吨。实际比计划多生产了百分之几?
3、小明家八月份用电80千瓦时,小亮家比小明家节约10千瓦时,小亮家比小明家八月份节约用电百分之几?
4、某化肥厂9月份实际生产化肥5000吨,比计划超产500吨。比计划超产百分之几?
5、蓝天帽业厂去年收入总额达900万元,按国家的税率规定,应缴纳17%的增值税。一共要缴纳多少万元的增值税?
6、爸爸买了一辆价值12万元的家用轿车。按规定需缴纳10%的车辆购置税。爸爸买这辆车共需花多少钱?
1、找出下列各题中的单位“1”。
①男生人数占女生人数60%。
②男生人数比女生人数多20%。
③女生人数比男生人数少25%。
⑤今年的猪肉单价比去年上涨了80%。
2、根据所给信息,说出数量间的相等关系
①一条路,已修了全长的60%
②一种彩电,现价比原价降低10%
③松树的棵数比柏树多 1/3
(1)一个数的75%比30的25%多1.5,求这个数。
(2)一个数的25%比它的75%少30,求这个数。
(1)某工厂六月份用煤60吨,六月份比五月份少用煤25%,五月份用煤多少吨?
(2)某工厂六月份用煤60吨,五月份比六月份多用煤25%,五月份用煤多少吨?
2、一张课桌比一把椅子贵10元,如果椅子的单价是课桌单价的60%,课桌和椅子的单价各是多少元?
3、果园里的梨树和苹果树共有360棵,其中的苹果树的棵树是梨树的棵树的20%。苹果树和梨树各有多少棵?
4、一套桌椅的价格是78元,其中椅子的价格是桌子的30%。桌子和椅子的价格各是多少元?
5、一条绳子,第一次剪去全长的25%,第二次剪去全长的35%,两次共剪去6米,这条绳子共长多少米?
6、一条绳子,第一次剪去全长的25%,第二次剪去全长的35%,第二次比第一次多剪了1米,这条绳子长多少米?
平山茶场去年原计划种茶20公顷,实际种茶25公顷,________?
①实际种茶的公顷数是原计划的百分之几?
②计划种茶的公顷数是实际的百分之几?
③实际种茶的公顷数比原计划多百分之几?
④计划种茶的公顷数比实际少百分之几?
果园里有苹果树200棵, ,梨树有多少棵?
1、找出下列各题中的单位“1”。
②男生人数比女生人数多20%。 把女生人数看作单位“1”
③女生人数比男生人数少25%。 把男生人数看作单位“1”
⑤今年的猪肉单价比去年上涨了80%。把去年的猪肉单价看作单位“1”
2、根据所给信息,说出数量间的相等关系
(1)某工厂六月份用煤60吨,六月份比五月份少用煤25%,五月份用煤多少吨?
(2)某工厂六月份用煤60吨,五月份比六月份多用煤25%,五月份用煤多少吨?
2、一张课桌比一把椅子贵10元,如果椅子的单价是课桌单价的60%,课桌和椅子的单价各是多少元?
解:设课桌的单价是x元,椅子的单价是60%x元。
答:课桌的单价是25元,椅子的单价是15元。
3、果园里的梨树和苹果树共有360棵,其中的苹果树的棵树是梨树的棵树的20%。苹果树和梨树各有多少棵?
解:设梨树的棵树是x棵,苹果树的棵树是20%x棵。
答:梨树的棵树是300棵,苹果树的棵树是60棵。
4、一套桌椅的价格是78元,其中椅子的价格是桌子的30%。桌子和椅子的价格各是多少元?
解:设课桌的单价是x元,椅子的单价是30%x元。
答:课桌的单价是60元,椅子的单价是18元。
5、一条绳子,第一次剪去全长的25%,第二次剪去全长的35%,两次共剪去6米,这条绳子共长多少米?
解:设这条绳子共长x米。
答:这条绳子共长10米。
6、一条绳子,第一次剪去全长的25%,第二次剪去全长的35%,第二次比第一次多剪了1米,这条绳子长多少米?
解:设这条绳子共长x米。
答:这条绳子共长10米。
平山茶场去年原计划种茶20公顷,实际种茶25公顷,________?
果园里有苹果树200棵, ,梨树有多少棵?