题解 CF1011B Planning The Expedition】的更多相关文章

Solution 考虑 二分 . 首先要确定二分的对象,显然二分天数较为简单. 每次找到的 \(mid\) 需要判断是否能让整队人吃饱,那就调用一个 check() . 对于 check() ,求出每包食物可供的人数,相加后与 \(n\) 相比较. 具体操作见下. Code #include<iostream> using namespace std; #define ll long long #define max(x,y) x>y?x:y ll n,m,l=1,r,a[1005],q…
Description Natasha is planning an expedition to Mars for nn people. One of the important tasks is to provide food for each participant. The warehouse has m daily food packages. Each package has some food type aiai. Each participant must eat exactly…
题目链接:http://codeforces.com/contest/1011/problem/B 题目大意: 输入的n,m代表n个人,m个包裹. 标准就是 每个人一开始只能选定吃哪一个包裹里的食物,刚开始可以和别人吃一样的,也可以和别人吃不一样的.给出的数据代表编号,问你在满足条件的前提下,最多可以让n个人活多少天. 具体思路: 我们可以计算出 i 天这些食物能活下来的最大人数,然后判断的时候,如果说哪一天活下来的最大人数大于n,输出对应的天数就可以了. 代码; #include<bits/s…
已经是水到一定程度了QAQ- Code: #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn = 105; int tp[maxn], idx[maxn], n,m, spare[maxn], cnt; bool cmp(int i,int j) { return i > j;} inline bool check(int val) {…
题意:有n个人和m个食物,给出每一个食物的种类,每个人只会吃一种食物,每个人一天吃一个食物,问这n个人可以撑多少天. 分析:因为题目给出的天数范围比较小所以我们可以从1到100天开始枚举,我们判断如果是I天了,这些食物够不够N个人吃,够的话继续,不够的话可以跳出循环了,因为这是一种单调关系,如果天数比较大,那可以二分天数: 枚举 #include<stdio.h> ],a[]; ]; int main( ) { ,x; scanf("%d%d",&n,&m)…
Description Natasha is planning an expedition to Mars for nn people. One of the important tasks is to provide food for each participant. The warehouse has mm daily food packages. Each package has some food type ai. Each participant must eat exactly o…
Natasha is planning an expedition to Mars for nn people. One of the important tasks is to provide food for each participant. The warehouse has mm daily food packages. Each package has some food type aiai . Each participant must eat exactly one food p…
A: Stages 题意: 给你n个字符, 现在需要从中选取m个字符,每个字符的花费为在字母表的第几位,并且如果选了某个字符, 那么下一个选择的字符必须要在字母表的2位之后, 假如选了e 那么 不能选 a-f 可以选择 g-z, 现在求能满足条件的最小花费. 题解: 直接模拟. 代码: #include<bits/stdc++.h> using namespace std; #define Fopen freopen("_in.txt","r",stdi…
Description Natasha is planning an expedition to Mars for nn people. One of the important tasks is to provide food for each participant. The warehouse has mm daily food packages. Each package has some food type aiai. Each participant must eat exactly…
地址 http://poj.org/problem?id=2431 题解 朴素想法就是dfs 经过该点的时候决定是否加油 中间加了一点剪枝 如果加油次数已经比已知最少的加油次数要大或者等于了 那么就剪枝 然而 还是TLE了 TLE代码 #include <iostream> #include <vector> #include <algorithm> #include <queue> using namespace std; vector<pair&l…