
贪心
文章平均质量分 92
Coco_T_
东南大学本科毕业生,浙江大学在读研究生
展开
-
Tyvj1032
题目链接分析: 显然,比c面值大的钱,我们直接给就好了 那么问题就变成了,有一堆比c面值小的硬币, 让我们凑出尽量多的c正当我苦于c的范围无法承受01背包时 我又看了一遍题面,发现了这句话: 每一个面额都能整除所有比它大的面额这句话好像非常的关键 也就是说,大面值的钱能做到的事,比ta小的硬币都能做到显然我们要是能凑出c的钱数 就不要给奶牛贝西大于c的钱优先选用面值大的钱(直觉告诉我)原创 2017-09-01 17:27:31 · 314 阅读 · 0 评论 -
自己学校出cha的dian联zheng考jie(11.7)
T1.A分析: 考试的时候,直接bfs(想都没想)看一下官方题解吧: 一定要仔细读题解(特别是注意柿子的系数和下标) 注意m的表达式: 题解只是说要贪心的构造x,一开始我还是有点懵的 py了一下学长的代码,发现真的是贪心注意:只有m为整数的时候才有一下的操作我们确定了一个n之后,m中b的次方最大的就是n 我们就从b^n次方开始:tot+=m/b^n b的次方逐次递减,不用担心m是否可以原创 2017-11-07 16:44:27 · 506 阅读 · 0 评论 -
LA3177 - Beijing Guards(二分+贪心【仅提供一种解题思路)
简介:同皇帝的烦恼分析:如果n是偶数,那么答案就是相邻两个人的r值之和的最大值 即ans=max{r(i)+r(i+1)} (i=1,2,3,…,n),规定r(n+1)=r1 这时的ans实际上是答案的下限 一个合法的方案就是,对于编号为i的人来说,如果i是奇数,那么就从1往后依次取礼物, 如果i是偶数,那么就从ans往前依次取礼物如果n是奇数,这个时候就需要二分一个ans了 L=ma原创 2017-10-15 14:35:03 · 460 阅读 · 1 评论 -
UVa11520 - Fill the Square
题目链接简介:方格填字母,相邻的要求互异分析: 题目要求输出字典序最小的方案, 实际上这就是在提示我们这道题的解法: 我们直接贪心的向方格里填数就好了 一开始我还以为要搜索,一道搜到一种合法方案就停止,实际上这就是贪心填数的过程//这里写代码片#include<cstdio>#include<cstring>#include<iostream>using namespace std;i原创 2017-10-15 14:09:13 · 253 阅读 · 0 评论 -
UVa11292 - Dragon of Loowater (贪心+模拟)
题目链接分析: 能力强的骑士开高价是合理的 但是不能大材小用,所以我们直接贪心 把龙和骑士排序之后, 一个一个砍就行了 当然,不能砍掉“当前需要砍掉的头”的骑士我们就不用再考虑ta了tip成功的砍掉一个头之后,不要忘了把骑士的指针向后推移一位附图: //这里写代码片#include <iostream> #include <cstdio> #include <cstring>原创 2017-10-13 18:49:41 · 318 阅读 · 0 评论 -
UVa11729 - Commando War(贪心)
题目链接简介: n个任务分配给n个部队做,每个部队都需要交代B的时间,执行J的时间分析: 直觉告诉我们,执行时间长的任务需要早交代 那我们直接按照执行时间排序,一个一个交代就好了为什么我们这么做事对的呢 TA:贪心不要证明 假设我们交换两个相邻的任务X和Y(交换前X在Y之前,交换后X 在Y之后), 不难发现,其他任务的完成时间没有影响,那么我们看着两个任务情况一交换之前,任务Y比X先结原创 2017-10-13 19:38:00 · 265 阅读 · 0 评论 -
bzoj3790 神奇项链(manacher+贪心区间覆盖)
Description母亲节就要到了,小 H 准备送给她一个特殊的项链。这个项链可以看作一个用小写字母组成的字符串,每个小写字母表示一种颜色。为了制作这个项链,小 H 购买了两个机器。第一个机器可以生成所有形式的回文串,第二个机器可以把两个回文串连接起来,而且第二个机器还有一个特殊的性质:假如一个字符串的后缀和一个字符串的前缀是完全相同的,那么可以将这个重复部分重叠。例如:aba和aca连接起来,原创 2018-01-06 14:02:27 · 382 阅读 · 0 评论 -
bzoj2460 [BeiJing2011]元素(贪心+线性基)
题目链接分析: 看到有异或和,就可以往线性基上考虑 然而写出线性基之后,在统计答案上卡了如果直接按照线性基:for (int i=30;i>=0;i--) if (b[i]) ans+=v[b[i]];这样统计出的答案保证了编号的异或值最大,与题设不符,非常不符原来这道题的核心是贪心啊 我们按照v排序 从大到小插入元素维护线性基 因为...原创 2018-02-26 18:36:15 · 240 阅读 · 0 评论 -
codeforces 422 B. Andrey and Problem(概率+贪心)
题目链接题目描述: 每个人有pipip_i的概率提供一道题给Andrey,求Andrey得到恰好一道题的最大概率分析: 显然,我们如果想要概率最大,就要从大到小的选择 我们先把概率从大到小排序 贪心的选取就好了简单说一下怎么计算答案: 简单观察一下 假设现在我们已经选中了p1,p2p1,p2p_1,p_2 ans=p1∗(1−p2)+p2∗(1−p1)ans=p1∗(1−...原创 2018-03-09 08:25:57 · 296 阅读 · 0 评论 -
舒老师AK的hu测 T1. 迷失沃尔玛(dp+贪心)
版权属于舒老师,想要引用此题(包括题面)的朋友请联系博主 分析: mmp,这道题做了不短的时间(这是什么语法。。。)首先我们可以用O(nlogn)O(nlogn)O(nlogn)的复杂度计算出f[i]f[i]f[i](表示以iii为结尾的LIS)以下就是我yy的过程了:一开始有一个非常naive的想法: 把数组的每个位置视为一个点 每个点向在ta后面且比ta大的点连...原创 2018-03-11 20:44:52 · 283 阅读 · 0 评论 -
UVa10382 - Watering Grass(贪心经典模型:区间覆盖)
题目链接简介: 用最少圆覆盖矩形分析: 我们通过分析可以发现 半径小于等于r的圆是完全没有用的 而每个圆能够有效覆盖的面积只有: 因此我们在输入的时候,预处理一下每个圆可以覆盖的矩形的左端点和右端点 这样我们就把问题转化成了贪心的经典问题:区间覆盖我们把所有的区间按照端点排序,注意,如果某一区间边界大于s,t的边界,应把它们变成s或t 因为超出的部分毫无意义,同时还会影响对数据的分析原创 2017-10-18 18:51:10 · 423 阅读 · 0 评论 -
UVa11636 - Hello World!(贪心)
题目链接简介: 输出多条Hello World,只能复制粘贴分析: 实际上我们只要贪心的一直复制 得到的Hello world的条数一定是2的n次方 最后差几条,我们直接用一次复制即可//这里写代码片#include<cstdio>#include<cstring>#include<iostream>using namespace std;int main(){ int ca原创 2017-10-18 10:01:17 · 434 阅读 · 0 评论 -
UVa11039 - Building designing(排序+贪心)
题目链接简介: n个绝对值不同非零整数,选出尽量多的数,排成一个序列,使得正负号交替,绝对值递增分析: 实际上我们可以把两种颜色的楼层分开,分别排序 之后贪心的构造楼层就可以了当然我们还有一种更简单的方法, 绝对值排序 如果相邻两个数的乘积为负,那么这两层楼就可以计算入答案中tip乘的操作会爆int,所以要开ll//这里写代码片#include<cstdio>#include<cstr原创 2017-10-18 15:58:07 · 405 阅读 · 0 评论 -
UVa10905 - Children's Game(排序+贪心)
题目链接分析: 显然我们要让首位大的数字排在前面但是有一个问题,如果是这样的数字: 807 80 我们要怎么办呢 显然80807要更优那么就是短的在前吗,也不一定 809 80 这一组的最优解就是80980 所以我在判断的时候是这么写的:int pd(int A,int B){ int l1=strlen(a[A]); int l2=strlen(a[B]);原创 2017-10-18 20:45:56 · 259 阅读 · 0 评论 -
UVa11134 - Fabled Rooks(贪心+优先队列)
题目链接简介: 同行同列没有两辆车,每辆车在规定的矩形内分析: 乍一看很像八皇后问题,但是我们注意到n<=5000 显然dfs是没有办法的了, 不过我们会注意到,和八皇后相比,这道题少了一个条件:我们可以同一对角线上放多辆车,而且题目给出了每辆车的位置范围 实际上我们可以用贪心解决这个问题对于每一辆车来说,行和列是相互独立的,所以我们可以分开来考虑(下面我们单考虑行): 我们把所有的矩形原创 2017-10-19 10:39:51 · 359 阅读 · 0 评论 -
UVa11100 - The Trip, 2007(贪心【重点:解的构造)
题目链接简介: 给定n个整数,把ta们划分成尽量少的严格递增序列分析: 记录每一个数字出现的次数cnt[i] k=max{cnt[i]}困难一点的是解的构造:在题目中有这样一句话:简单来说让每个背包装载的东西尽量相等 所以我们把所有的物品保存下来之后,从小到大排序 选1~k的物品为这k个背包的第一个物品 至于每一个背包i,属于ta的物品编号是i+x*k 这样就能保证每个背包尽量均衡//原创 2017-10-19 18:52:36 · 442 阅读 · 0 评论 -
UVa11389 - The Bus Driver Problem(贪心)
题目链接简介: 有n个A任务和n个B任务, 现在要把这些任务分成n组,每组包含一件A事件和一件B事件, 如果事件的和超过d,会产生一定的费用,最小化费用分析: 一开始我认为, 只要把A任务从小到大排序,B任务从大到小排序 对应相加得到的就是最优组合方案 交上去果然就是WA(歪果人不好骗啊)然而我找了半天的反例,都没有什么结果 所以我这个贪心贪得很对 但是为什么WA呢 因为我的读入原创 2017-10-19 19:50:03 · 417 阅读 · 0 评论 -
UVa12105 - Bigger is Better(数位|贪心)
题目链接简介: 用n根火柴拼出尽量大的能被m整除的数分析: 有一种非常显而易见的dp方法: f[i][j]表示用i根火柴拼出的“%m是j”的最大整数 转移方程:f[i+c[k]][(j*10+k)%m]=max{f[i][j]+k}时间复杂度是O(10*nm),看上去好像非常优秀 但是这样的状态值是高精度(能拼成的数可能很大),因此实际计算量非常大 (再说有人愿意随手写一个高精度吗。。。原创 2017-11-06 20:41:42 · 505 阅读 · 0 评论 -
loli终于又来hu测了 T1.运动会(贪心)
分析: 显然最坏情况就是我们每个项目都选择,就可以得到一个答案上限 贪心的,如果我们想让答案减少,就找到当前被选择次数最多的体育项目刨除 至于那些选择了这个项目的运动员,顺延一下就好了 (可以证明这个贪心的正确性) 时间复杂度:O(nm)O(nm)O(nm)tiphu测的时候没有立刻想到正解, 先想到了二分,然而在考虑如何二分判定的时候发现了正解 所以还是那个原则:相...原创 2018-03-26 14:06:11 · 196 阅读 · 0 评论