ZOJ 4067 Books (2018icpc青岛J) (贪心)】的更多相关文章

题意 给你一个长度为n的数组,代表每一个物品的价格.你有一个初始钱数\(x\),采用以下方法贪心: 从\(1\)到\(n\)扫一遍,如果\(x\)不比\(a[i]\)小,就买下它,买不起就跳过. 给你最终买的物品数量m,求\(x\)的最大值. 思路 我队的贪心菜的一笔,果然我也有很大的责任.. 首先如果最后全部买完,那么刚开始的钱一定是无穷多的. 我们先假设数组里没有0,那么通过题意中的贪心方法,最后买的一定是前m个. 证明: 当\(m=0\)的时候,显然成立. 假设当\(m=i\)的时候成立,…
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4067 题意: 给出 $n$ 本书(编号 $1 \sim n$),第 $i$ 本书的价格为 $a_i$ 元.我现在手上有若干元钱,我买书的策略为从 $1 \sim n$ 依次买书,若遇到价格不超过我手上钱数的,我就买下,否则就跳过. 现在已知我买了 $m$ 本书,请求出我手上最多有多少元钱. Sample Input 4 4 2 1 2 4 8 4 0 100 9…
先贴代码,以及简要题解. 和一个队友下午双排打了一下,队友光速签到,我签的J被嫌弃写得慢以及演员...然后我秒出了E了思路然而难以置信这么简单的思路当时才过了十几个,于是发现D.F不是太好做.最后交了13发E才过,中间爆ll.memset超时..赛后补了F. 只贴我写的三个题. J: ZOJ 4067 题解:把所有0拿掉后贪心拿完前面的,然后再加上后面的最小值-1.改了三次在基佬紫帮助下才写对. #include<cstdio> #include<iostream> #includ…
ZOJ Problem Set - 3829Known Notation(贪心) 题目链接 题目大意:给你一个后缀表达式(仅仅有数字和符号),可是这个后缀表达式的空格不幸丢失,如今给你一个这种后缀表达式,问最少须要多少操作能够把这个表达式变成合法的. 操作: 1.在这个表达式的不论什么位置插入''或者数字(一位数). 2.把这个表达式的不论什么两个位置的字符对换. 解题思路: 一開始想的好复杂,结果还是漏了某种情况,一直过不去:就是卡在了碰到''的时候,数字不够是插入好还是替换好. 事实上仅仅要…
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4062 题目大意:给一个大小为n的数组,数组编号从1到n,每一个元素的值代表每经过一次这个位置,这个位置就加上这个元素的值,所有位置最初的值都是0,最初从0开始移动m次,求最终所有位置的最小值的最大值是多少.(n<1e5,m<1e12,a[i]<1e5) 题解:二分+贪心,每个位置尽量往右弹跳(因为之前的位置都满足了条件,只需要尽可能让右边的大即可.),注意各种细节…
[链接] 我是链接,点我呀:) [题意] [题解] 统计a中0的个数cnt0 然后m减去cnt0 因为这cnt0个0是一定会取到的. 如果m==0了 那么直接找到数组中的最小值mi 输出mi-1就好 否则 找到剩余的前m个非0的数字 设第m个非0数字为a[i],则在i+1..n中再取最小值mi 则输出前m个非0数字和+mi-1 m<0的话,impossible n==m的话,Richman [代码] #include <bits/stdc++.h> #define ll long lon…
题目链接:http://acm.zju.edu.cn/onlinejudge/showRuns.do?contestId=1 这题真的坑,为什么要买0本书的时候,书架里面刚好有价格为0的时候输出"Richman",难道不应该是"Impossible"吗??你肯定是要从头开始来一遍的,我觉得应该是不可能,,被这个题给卡住了... AC代码; #include<iostream> #include<string> #include<cstr…
优先发路程最长的 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #include<map> using namespace std; #define MOD 1000000007 const int INF=0x3f3f3f3f; ; typedef long…
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4062 题意: 现在在一条 $x$ 轴上玩植物大战僵尸,有 $n$ 个植物,编号为 $1 \sim n$,第 $i$ 个植物的位置在坐标 $i$,成长值为 $a_i$,初始防御值为 $d_i$. 现在有一辆小车从坐标 $0$ 出发,每次浇水操作必须是先走 $1$ 单位长度,然后再进行浇水,植物被浇一次水,防御值 $d_i+=a_i$. 现在知道,小车最多进行 $m…
ZOJ - 4062 题意:有n个植物排成一排,按顺序植物的编号是1-n,每个植物都有一个生长速率,有一个机器人,机器人可以走m步,每走一步,这个机器人就会浇一次水,浇一次水那个植物就会长 自身的生长速率那么高,然后现在要求最大的最小生长值, 思路:一般要求最大的最小值都是使用二分来求答案,我们二分出的答案做以下的测试 我们先求出每个位置大于最小值至少到达此位置几步 然后我们直接考虑当前位置是尽量往右走,走来回来增加此位置的生长速率,不过有很多细节,我们遇到负数的时候就不能往当前位置来回了, 肯…
题意:给定一个序列,里面有一个数字出现了超过 n / 2,问你是哪个数字,但是内存只有 1 M. 析:首先不能开数组,其实也是可以的了,后台数据没有那么大,每次申请内存就可以过了.正解应该是贪心,模拟一个栈,因为答案肯定出现次数比其他所有数字的出现次数还多,所以每次和栈顶的元素比较,如果相同,就放到栈里,否则删除栈顶元素,这样最后剩下的肯定是出现次数最多的元素,我们可以用两个变量来模拟这个栈. 代码如下: #pragma comment(linker, "/STACK:1024000000,10…
B 题意:给n个问题,每个问题有一个固定的答案ai(<=10^5).现在有m个约束关系,每个约束关系是一个二元组(ui,vi),表示你回答ui.vi问题的答案必须一样. 现在让你输出分别修复一个约束,然后回答每个问题,最多能答对多少道. 分析:约束关系其实是弱联通关系,要求回答每个联通块是一样的.所以建一个图. 然后考虑拆掉一个约束关系(一条边),可以发现如果处在一个强连通分量内,拆掉对答案没有影响.所以先tarjan缩编然后重建树. 若是一条桥边,那么就是把树拆成多个部分,更新答案. 具体我想…
题意:一棵树上有m个红色结点,树的边有权值.q次查询,每次给出k个点,每次查询有且只有一次机会将n个点中任意一个点染红,令k个点中距离红色祖先距离最大的那个点的距离最小化.q次查询相互独立. 分析:数据量很... 最大值最小化,二分搜答案.将ST表求lca的dfs函数加一点东西,求出每个点到其最近红色祖先的距离.check函数中,枚举到其红色祖先的距离超过下限的点.设非法点数为p,尝试将其距离通过一次染色缩小.具体做法是求出这p个点的lca,这个点就是要染红的点,因为只有修改这个点,才有可能将所…
链接: https://www.nowcoder.com/acm/contest/143/J #include<bits/stdc++.h> using namespace std; long long n, p2, p3; int main(){ cin >> n >> p2 >> p3; double c2 = p2 / 2.0, c3 = p3 / 3.0; ) cout << (long long)(p2 < p3 ? p2 : p…
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3963 题意:给出一个n个数的序列,可以在其中找一个子序列建堆,并且堆中的父亲结点j和孩子结点i满足sj ≤ si and j < i.问要分配所有的数到堆里面,最少可以建多少个堆. 思路:对于每一个数,如果前面有小于等于它的数并且那个数的左右孩子还没满,那么就可以放在它的下面.考虑最优情况,就应该是每次插入到左右孩子还没满的,并且小于等于当前枚举的数的最大的数,然后插入到…
本文出自   http://blog.csdn.net/shuangde800 题目链接:zoj-3627 题意 直线上有n个城市, 第i个城市和i+1个城市是相邻的.  每个城市都有vi的金币.    Alice和Bob站在城市p, 他们每天可以选择走向一个相邻的城市, 也可以选择不走. 他们是单独行动的.    他们经过一个城市就可以获得相应的金币(不能重复获得)    作为一个队伍, 他们的最远距离不能操作M, 问T天内, 他们最多一共能拿多少金币? 思路 由于每次只能走一步,那么一定是一…
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3721 来源:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26644#problem/F Final Exam Arrangement Time Limit: 4 Seconds      Memory Limit: 65536 KB      Special Judge In Zhejiang Univ…
题意:有n个城市并排着,每个城市有些珠宝,有两个人站在第s个城市准备收集珠宝,两人可以各自行动,但两人之间的距离不能超过dis,而且每经过一个城市就需要消耗1天,他们仅有t天时间收集珠宝,问最多能收集多少珠宝? 思路: 其实就是类似一个滑动窗口在收集一个序列上的权值.首先两个人可以同时往两边散开,直到极限距离dis(这样省时),然后他们可能往左/右走,也可能往左走一会儿再往右走,也可能往右走一会儿再往左走.可以看出其实这些考虑都是对称的,那么我们主要考虑1边就行了.可以尝试枚举往左边走k天,其他…
Talented Chef Time Limit: 2 Seconds Memory Limit: 65536 KB As we all know, Coach Gao is a talented chef, because he is able to cook M dishes in the same time. Tonight he is going to have a hearty dinner with his girlfriend at his home. Of course, Coa…
Problem C---zoj 4060 Flippy Sequence 解题思路:要求进行两次操作,每次操作选择一个区间,问将s串变成t串中所选的两个区间构成的4元组有多少个.做法:找出s串与t串不同块的个数,然后做个简单的判断即可. AC代码: #include <bits/stdc++.h> using namespace std; typedef long long LL; ; int T,n,cnt,answer;char s1[maxn],s2[maxn]; int main(){…
A Space Navigation #include <bits/stdc++.h> using namespace std; typedef long long LL; #define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0) #define RI register int const int MOD = 1e9 + 7; const double PI = acos(-1.0); const int INF = 0x…
现在连基础DP都要看题解和代码才能写出来了,怎么办嘛QAQ 原题: 一些村庄建在一条笔直的高速公路边上,我们用一条坐标轴来描述这条公路,每个村庄的坐标都是整数,没有两个村庄的坐标相同.两个村庄的距离定义为坐标之差的绝对值.我们需要在某些村庄建立邮局.使每个村庄使用与它距离最近的邮局,建立邮局的原则是:所有村庄到各自使用的邮局的距离总和最小.数据规模:1<=村庄数<=300,  1<=邮局数<=30,  1<=村庄坐标<=10000 用dis表示若使在i-j中选某点建站,…
题解: 做这题的时候为了敢速度- - 直接orz了神小黑的题解 其实我还是有想一个拙计的方法的- - dp:f[i][j] 表示到i点使用j个加速器 在i前上车的人的时间和 轻松愉悦转移之 - - 但是有很严重的两个问题 1.空间复杂度O(nk)爆掉 2.时间复杂度O(nk^2)更呵呵- - 于是弃疗 正解: 贪心! time[i]表示到i点的时间 last[i]表示从i出发的人的最晚到达的时间 sum[i]表示在i或i前下车的人数 f[i]表示在i后time[j]<=last[j]的最小j 贪…
B. The Best Gift  传送门:http://codeforces.com/problemset/problem/609/B Emily's birthday is next week and Jack has decided to buy a present for her. He knows she loves books so he goes to the local bookshop, where there are n books on sale from one of m…
题目描述 Description 风景迷人的小城 Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第0 分钟出现在1号景点,随后依次前往2.3.4……n 号景点.从第i 号景点开到第i+1 号景点需要Di 分钟.任意时刻,公交车只能往前开,或在景点处等待.设共有 m 个游客,每位游客需要乘车1 次从一个景点到达另一个景点,第i 位游客在Ti 分钟来到景点Ai,希望乘车前往景点Bi(Ai<Bi).为了使所有乘客都能顺…
Arranging Hat is a cushy job indeed; high impact work, absolute authority, and 364 days of holiday every year. However, the hat has decided that it can do even better-it would like very much to become a tenured professor. Recently the hat has been re…
链接 [http://codeforces.com/contest/1060/problem/C] 题意 给你两个数列,可以构成一个矩阵C,ci,j=ai⋅bj 1≤x1≤x2≤n , 1≤y1≤y2≤m 还有一个x,让你求一个子矩阵,使得矩阵元素和小于等于x,面积最大 分析 贪心,思维,只需要求出前缀和,还有长度为i,时子窜和最小 具体看代码 代码 #include<bits/stdc++.h> using namespace std; #define ll long long const…
贪心类题目目前除了正则匹配(Wildcard Matching)(据说其实是DP)那道还没做其他的免费题目都做了,简单做个总结. 贪心的奥义就是每一步都选择当前回合”可见范围“(即可得知的信息)内的最优,而在每一步都仅选择当前回合”可见范围“内的最优这一策略下能够导致全局最优的结果的情况使用贪心就会是正确的,否则不适用贪心(或不适用当前对贪心中的最优的定义). 因此,贪心一个点是选择当前最优,另一个点是这个最优要怎么定义,比如是选使得A最小的还是选使得A-B或A/B最小的等等. 贪心的正确性其实…
前几次集训都没有记录每天的点滴……感觉缺失了很多反思的机会. 这次就从今天开始吧!不能懈怠,稳步前进! 2017/10/1 今天上午进行了集训的第一次考试…… 但是这次考试似乎是近几次我考得最渣的一次? 今天考试第一题是高精度+数学,第二题是图论计数大分类讨论,第三题是状压的树归 第一题看到之后自信的以为可以做出来,结果一直打到了还剩下半个多小时才打完. 还是too young too simple......今天这真的是致命的失误,后面再怎么考试也不能孤注一掷了 以及今天cdq基本上做完了(虽…
非常水的手速赛,大部分题都是没有算法的.巨慢手速,老年思维.2个小时的时候看了下榜,和正常人差了3题(,最后还没写完跑去吃饭了.. A 水 Sort 比大小 /** @Date : 2017-09-01 12:32:08 * @FileName: A.cpp * @Platform: Windows * @Author : Lweleth (SoungEarlf@gmail.com) * @Link : https://github.com/ * @Version : $Id$ */ #incl…