![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
文章平均质量分 88
huanghongxun
这个作者很懒,什么都没留下…
展开
-
CodeForces CF 360E Levko and Game 贪心+SPFA
听说是一道贪心题。。已知N个点,M+K条有向边及边权,可能有重边和自环。可以消耗费用修改给定k条边中一些边的边权。第i条边边权修改范围[li,ri]。修改给定K条边的长度使从s1到f比s2到f的时间短。对于边,如果dis(s1,x)的边长修改为l可以使dis(s1,f)更小。如此修改+重跑最短路后若dis(s1,f)对于平局,判断dis(s1,x)发原创 2015-11-15 09:51:58 · 1353 阅读 · 0 评论 -
ZOJ 3916|Buy Cakes|贪心|堆
你身上有MM元,KK张优惠券。商店共有NN块蛋糕,使用一张优惠券可以买一块优惠价格的蛋糕。蛋糕ii使用优惠券花费bib_i,不使用花费aia_i。问最多买多少块蛋糕。开始方向想错跪跪跪。浪费了好多时间。 一直在想先aia_i买完再调整bib_i。。 然而正确姿势是先买完bib_i再调整aia_i。。 除了这点思路基本一样,但是就这点反了QwQ。 难怪一直觉得好像情况好复杂QwQ。 这个悲伤原创 2016-04-24 12:29:15 · 818 阅读 · 0 评论 -
CodeForces 723
723A数轴上有3个点x1<x2<x3x_1<x_2<x_3,求一个点x0x_0,最小化|x1−x0|+|x2−x0|+|x3−x0||x_1-x_0|+|x_2-x_0|+|x_3-x_0|。 显然,x0x_0肯定在[x1,x3][x_1,x_3],否则不是最优解,故化简得:x3−x1+|x2−x0|x_3-x_1+|x_2-x_0|,故x0=x2x_0=x_2时解最小为x3−x1x_3-x_1原创 2016-10-04 22:24:43 · 1900 阅读 · 0 评论 -
CodeFoces #377(732A|732B|732C|732D|732E)|贪心
这是贪心大赛的节奏。。。732A Buy a Shovel题目大意一件商品k元,你身上有无数多个10元硬币和r(1≤r≤91\leq r\leq 9)元硬币,问买多少件商品你才可以刚好使用你身上的硬币购买而不需要找零。题解显然商品件数不会超过10件(10件时可以只使用10元硬币),且只k的个位数有关。#include <cstdio>int main() { int k, r, i;原创 2016-10-23 11:55:03 · 1175 阅读 · 0 评论 -
CodeForces 724|模拟|贪心|扩展欧几里得|
724A Checking the Calendar题目大意:题目感觉有点晦涩。。就是说给定不是闰年的某个月(1~11月)第一天是星期几,下个月的第一天是星期几,问你是否合法。#include int parseDay(char *ch) { if (ch[0] == 'm' ) return 0; if (ch[0] == 't' && c原创 2016-10-12 22:23:54 · 528 阅读 · 0 评论 -
CodeForces 731
731A题目大意:类似电话表盘,不过表盘上有26个字母,问一开始表盘指向a,如何转动表盘使得依次指向字符串中的各个字符且转动表盘次数最小(转一格为一次) 题解:每次都拿最近的那个#include <cstdio>#include <algorithm>using namespace std;char s[128];int main() { int i, now, ans = 0,原创 2016-10-17 22:17:48 · 1238 阅读 · 0 评论 -
UOJ 147|NOIP 2015|斗地主|搜索|贪心
你有一些扑克牌,有一些出牌方式,问最少出多少张牌才能全部打光。 分别有:王炸、炸弹、单张、对子、三张、三带一、三带二、四带两张、四带两对、单顺子、双顺子、三顺子。 顺子不包含大小王和2。题目:http://uoj.ac/problem/147没有飞机真是可惜 UOJ中途加强数据QwQ。嘛,考虑搜索。 (还记得考场上的程序写的很丑)显然对于一个出牌的方案,顺序是无关的,因此考虑优先出顺子,顺子原创 2016-05-22 13:22:01 · 1944 阅读 · 0 评论 -
CodeForces #?(727A|727B|727D|727F)|贪心|动态规划
727A题目大意:给出s和t,对s有2个操作:一个×2,一个*10+1,问怎么操作能使s变成t。 题解:暴力。。#include <cstdio>typedef long long ll;bool isPower2(ll x) { return x - (x & -x) == 0;}ll s, t, p[64];void output(int d, ll r) { puts原创 2016-10-16 12:02:29 · 1118 阅读 · 0 评论 -
HDU 3466|Proud Merchants|01背包|贪心
题目最近,iSea去了一个文明古国。很长一段时间内,这个国家是世界上最富有的而且还是最强大的国家。所以这个国家的公民拥有强烈的民族自豪感,即使国家不再富有了也不会丧失。 商人们是最典型的,每个商人仅仅出售一件物品,价格为pip_i,但是如果你的钱少于qiq_i,商人就不会和你交♂易了。然后iSea认为物品的实际价值是viv_i。 如果iSea有M块钱,iSea能获得的最大价值是多少?输入输入包含原创 2017-09-18 23:52:31 · 450 阅读 · 0 评论 -
UVALive 7959|Gym 101201H|Paint|DP|贪心
DescriptionYou are painting a fence with n sections, numbered from 1 to n. There are k artists, each willing to paint their design on a specific portion of the fence. However, artists will never agree原创 2017-12-09 20:51:55 · 430 阅读 · 0 评论 -
UVALive 7960|Gym 101201I|Postman|贪心
DescriptionA postman delivers letters to his neighbors in a one-dimensional world. The post office, which contains all of the letters to begin with, is located at x=0x = 0, and there are nn houses to原创 2017-12-09 21:06:30 · 390 阅读 · 0 评论 -
USACO|Barn Repair|堆|贪心|动态规划
SolutionDPdp[i,j]=min{f[i−1,j−1]+1,f[i,j−1]+a[j]−a[j−1]} dp[i,j]=\min\{f[i-1,j-1]+1,f[i,j-1]+a[j]-a[j-1]\} min的第1项表示第j个牛棚用一块长度为1的新木板覆盖 第2项表示延长第i块木板至第j个牛棚。贪心当所有木板都用时长度最短。 一开始c块barn1原创 2016-04-24 00:33:21 · 455 阅读 · 0 评论 -
BZOJ 1044 HAOI 2008 木棍分割 二分 贪心 动态规划
真是心烦。。似乎一个sb用脚本拼命交30s的while(1)程序卡评测。。这种缺智商的大抵也就会卡oj了。明明有80s的250s的去卡30s的第一问 二分贪心即可得到答案max_cut。 第二问 令f[i][j]f[i][j]表示前i根切j次的方案数。那么显然有 f[i][j]=∑f[k][j−1](a[k+1]+⋯+a[i]≤max_cut)f[i][j]=\sum f[k][j-1](a[k原创 2016-03-12 20:36:51 · 661 阅读 · 0 评论 -
CodeForces 525C Ilya and Sticks
排序后从大到小扫一遍。cf竟然不支持%lld?#include #include int main() { static long long a[100005]; int n, i; long long x, ans; scanf("%d", &n); for(i=1;i<=n;i++) scanf("%I64d", a+i); std::sor原创 2015-11-15 22:10:36 · 469 阅读 · 0 评论 -
CodeForces 588A Duff and Meat 贪心
Malek第i天需要a[i]单位的肉,第i天的肉价为p[i]每单位,求最小总花费。如果把p看作一个函数,那么对于每个“极小值”,买光到下一次和它相等花费的那一天。配图和题目一点关系都没有。。。。#include #include using namespace std;#define FOR(i,j,k) for(i=j;i<=k;i++)const int N = 1原创 2015-11-18 15:12:37 · 637 阅读 · 0 评论 -
CodeForces 596B Wilbur and Array 贪心
给出原始{ai}={0},{bi}。每次修改{ai..n}+1或-1,求最小操作次数使{ai}=={bi}。累计相邻两数差即可。因为差最大10^9,数字有2*10^5,要long long。#include #include typedef long long ll;int main() { static ll a[200001]; int n,i; sc原创 2015-11-18 18:21:13 · 535 阅读 · 0 评论 -
CodeForces 260D Black And White Tree 贪心
按s从小到大排序贪心地建边,并消耗完s。#include #include using namespace std;int main() { static pair v[2][100001]; static int vv[2]; int n,i,j,c,s; scanf("%d", &n); for(i=1;i<=n;i++) {原创 2015-11-17 22:29:05 · 792 阅读 · 0 评论 -
CodeForces 600C Make Palindrome 贪心
题意:给出字符串s,通过调整顺序或修改字符使字符串回文,输出修改次数最小且紫苜蓿最小的回文字符串。统计一下字母次数,字母序后的出现次数奇数的改成字母序小的,然后贪心选能使用的最小字符构建回文字符串即可。#include #include int main() { int i, j, k, len, s[26]={0}, w[26]={0}, wc = 0; static原创 2015-11-28 22:33:03 · 1072 阅读 · 0 评论 -
CodeForces 363D Renting Bikes
每个人有bi元私房钱不能给别人用,n个人有公用a元钱所有人都可以用,每个人想买pi元的自行车,求最多能买多少。二分答案贪心判定即可。要开long long。注意所有人都不能买的情况。#include #include using namespace std;const int N = 100001;typedef long long ll;ll b[N], p[N], n, m,原创 2015-11-29 23:34:57 · 605 阅读 · 0 评论 -
BZOJ 1082 SCOI 2005 栅栏 搜索+剪枝
见到最大最小化的先考虑二分答案。。那好就二分可以满足的需求个数。 首先可以确定的优化 1. 删掉比最小的需求都小的木板,删掉比最大给定木板还大的需求。 2. 优先满足更大的需求,从最小的木板开始切。 3. 如果有相等的需求,且上一个相等需求i切了j,那么该需求就从j开始切,可以避免重复搜索量。 4. 如果没被浪费的小于需求的总量就不合法。 概括地说就是要考虑初始的不合法情况,搜索原创 2016-02-09 13:48:08 · 563 阅读 · 0 评论 -
机房水题欢乐赛 2016-02-01
——暨GDKOI校队选拔赛T1: 积木分发单个测试点时间限制: 1s 内存限制: 128MB描述歌手Pancakes到幼儿园跟小朋友们玩,他到达时小朋友们正在争抢积木,小朋友都想要更多的积木砌一个自己喜欢的图形,砌完后就可以和Pancakes合照。同时,Pancakes手上还有一些积木,他可以把手上的积木全部给一个小朋友,然后等该小朋友砌完后就可以收回所发的积木和该小朋友原有的积木。但她不知道能否让原创 2016-02-01 20:36:43 · 645 阅读 · 0 评论 -
BZOJ 2097 USACO 2010 Dec Gold Exercise 奶牛健美操 二分答案 树形DP 贪心
感觉跟BZOJ 2067 POI 2004 szn有点关联。 二分答案ans。 对于每个点,如果子树中存在超过ans的链就砍掉。剩余的差不多了。#include <cstdio>#include <algorithm>const int N = 100005, M = N * 2;using namespace std;int e = 0, h[N], v[M], p[M], mid,原创 2016-03-12 15:11:26 · 1057 阅读 · 0 评论 -
BZOJ 2067 POI 2004 SZN 树形DP 贪心 二分答案
POI标程。。。明明OI代码写成OI风格就好了嘛,干嘛写成产品代码。。好好的代码强行拉到200+行而且思路也不紧凑了。。话说都这么 滥用 STL么。。首先最长的线最短可以多少,显然可以二分答案。然后如何判定ans?令gig_i表示以i为根的子树中所有路径长度不超过ans时连向i祖先的路径的最小长度,于是当grt≤ansg_{rt}\leq ans时ans可行。 然后有gi=gj+1g_i=g_j+原创 2016-03-11 14:20:24 · 1205 阅读 · 0 评论 -
GDCPC 2018
原题选手或成最大赢家。A: Chika’s Math Homework题目大意1≤T≤105,1≤n≤10181≤T≤105,1≤n≤10181\leq T\leq 10^5, 1\leq n \leq 10^{18},求 ∑i=0ni2Cin∑i=0ni2Cni \sum_{i=0}^n i^2C_n^i 题解比赛的时候队友打表找规律大师秒杀。。太强大了。 可...原创 2018-05-08 13:50:15 · 1295 阅读 · 0 评论