
贪心
贪心算法
落春只在无意间
不能打败我的只会让我更强大
展开
-
Codeforces 797C Minimal string【贪心】
题意:给出了字符串s的内容,字符串t,u初始默认为空,允许做两种操作:1.把s字符串第一个字符转移到t字符串最后。2.把t字符串最后一个字符转移到u字符串最后。最后要求s、t字符串都为空,问u字符串字典序最小能是多少。题解:本题实质为一个栈混洗,s为初始栈,t为中间栈,u为结果栈。我们考虑这样的贪心策略:如果t栈为空,那么做s->t;如果t栈不空:对于t栈顶,如果s栈中不存在比它字典序更小的单词,就做t->u否则做s->t下面我来试着证明一下这个贪心的正确性对于t栈原创 2021-08-02 19:01:17 · 212 阅读 · 0 评论 -
Pavel and Triangles(贪心)
题意:帕维尔有一些木棒,他们的长度分别为2的i次方(i>=0&&i<=n-1)给你他们的数量,尽可能用这些木棒组成最多的三角形。思路:众所周知,三角形三边满足:a+b>c因此此题只有如下两种情况才能组成三角形。1.两根长木棒和一根短木棒(第一类型)2.三根同长的木棒(第二类型)接着我们看如何组成才能保证答案最大。当这根木棒的数量x=2时(假设存在比这根木棒小的木棒,x>=2)只能组成一个第一类型的三角形。x=3时,可以组成一个第一类型的三角形,或是一原创 2021-08-02 19:07:36 · 177 阅读 · 0 评论 -
P1080 国王游戏(贪心)
题意:有一个国王的左右手上分别写了a0,b0,他把他的n个臣子叫过来,左右手分分别写上ai,bi,每个臣子能获得的奖励是所有站在他前面的人a[i]的乘积除以这个臣子右手上的数字(国王始终站在第一个),国王想让臣子获得金币的最大值最小,问你国王该怎么安排这个队列?输出这个最小值。思路:假设有两个臣子一个国王,两个臣子分别为a1,b1,a2,b2,我们有两种排列方式,ans1=max(a0/b1, a0 * a1 / b2),ans2=max(a0/b2. a0 * a2 / b1), 我们简化一下,an原创 2021-08-02 17:36:24 · 213 阅读 · 0 评论 -
贪心专题技巧
贪心专题制定参赛顺序调度问题加热便当米那斯雅诺原创 2021-10-17 16:39:53 · 120 阅读 · 0 评论