Codeforces Round #413(Div. 1 + Div. 2, combined)——ABCD
题目在这里
A.Carrot Cakes
乱七八糟算出两个时间比较一下就行了
又臭又长仅供参考
#include <bits/stdc++.h> #define rep(i, j, k) for(int i = j;i <= k;i ++) #define rev(i, j, k) for(int i = j;i >= k;i --) using namespace std; typedef long long ll; int main() {
ios::sync_with_stdio(false);
int n, t, k, d;
cin >> n >> t >> k >> d;
int t1 = (n + k - ) / k * t;
int t2 = ;
int t3 = (n + k - ) / k;
int t4 = (d + t - ) / t;
int t5 = t3 - t4;
if(t5 & ) t2 = d + (t5 + ) / * t;
else t2 = t4 * t + t5 / * t;
if(t2 < t1) puts("YES");
else puts("NO");
return ;
}
B.T-shirt buying
颜色数只有三个,开三个优先队列就行了
然后同一件衣服不要重复卖
#include <bits/stdc++.h> #define rep(i, j, k) for(int i = j;i <= k;i ++) #define rev(i, j, k) for(int i = j;i >= k;i --) using namespace std; const int maxn = ; typedef long long ll; struct node {
int x, y; bool operator < (const node &a) const {
return x > a.x;
}
}; priority_queue <node> q[]; int n, m, v[maxn], a, b, p[maxn]; int main() {
ios::sync_with_stdio(false);
cin >> n;
rep(i, , n) cin >> p[i];
rep(i, , n) cin >> a, q[a].push((node){p[i], i});
rep(i, , n) cin >> b, q[b].push((node){p[i], i});
cin >> m;
rep(i, , m) {
cin >> a;
while(!q[a].empty() && v[q[a].top().y]) q[a].pop();
if(!q[a].empty()) cout << q[a].top().x << " ", v[q[a].top().y] = , q[a].pop();
else cout << "-1 ";
}
return ;
}
C.Fountains
三种情况,都用c或d买,一个c一个d
第三种肥肠简单的
前面两种的话
对于新插入的物品,如果价格为x
那么查询一下价格<=(c-x)的物品中的最大beauty
然后两个物品组合一下就行了
查询的话,直接树状数组就可以了,O(nlogn)
需要注意保证是两个不同物品,不能只有一个
#include <bits/stdc++.h> #define lb(x) (x & (-x)) #define rep(i, j, k) for(int i = j;i <= k;i ++) #define rev(i, j, k) for(int i = j;i >= k;i --) using namespace std; typedef long long ll; struct node{
int x, y;
char str[];
void init() {
scanf("%d %d %s", &x, &y, str);
}
}a[]; int n, c, d, e, c1[], c2[]; int ask(int *C, int i) {
int ret = ;
while(i > ) ret = max(ret, C[i]), i -= lb(i);
return ret;
} void ins(int *C, int i, int x) {
while(i <= e) C[i] = max(C[i], x), i += lb(i);
} int main() {
cin >> n >> c >> d, e = max(c, d);
int t1 = , t2 = , t3, t4 = , t5 = , ans = ;
rep(i, , n) {
a[i].init();
if(a[i].str[] == 'C' && a[i].y <= c) {
if(a[i].x > t1) t1 = a[i].x;
t3 = ask(c1, c - a[i].y);
if(t3 != && a[i].x + t3 > t4) t4 = a[i].x + t3;
ins(c1, a[i].y, a[i].x);
}
if(a[i].str[] == 'D' && a[i].y <= d) {
if(a[i].x > t2) t2 = a[i].x;
t3 = ask(c2, d - a[i].y);
if(t3 != && a[i].x + t3 > t5) t5 = a[i].x + t3;
ins(c2, a[i].y, a[i].x);
}
}
ans = max(t4, t5);
if(t1 != && t2 != && t1 + t2 > ans) ans = t1 + t2;
cout << ans;
return ;
}
我还肥肠脑残地,取消了cin与stdio的同步后
同时用cin和scanf,然后WA了一发...
D.Field expansion
显然ans最大就是loga级别的
所以我们直接暴搜就行了
然后考虑到很骚的情况
a = b = 10W h = w = 1
ai = 2 n = 10W
这样的话我们用map防重就好了
很重要的一件事情 :
注意到题意说能放下
所以并没有h一定对应a,w一定对应b
也可以试试h怼b,w怼a!
#include <bits/stdc++.h> #define rep(i, j, k) for(int i = j;i <= k;i ++) #define rev(i, j, k) for(int i = j;i >= k;i --) using namespace std; typedef long long ll; int a, b, h, w, n, c[]; bool cmp(int x, int y) {
return x > y;
} typedef pair<ll, ll> node; vector <node> e; map <node,bool> p; int main() {
ios::sync_with_stdio(false);
cin >> a >> b >> h >> w >> n;
rep(i, , n) cin >> c[i];
sort(c + , c + n + , cmp);
node tmp;
if(h >= a && w >= b || w >= a && h >= b) {puts("");return ;}
e.push_back(make_pair(h, w));
for(int i = ;i <= n;i ++) {
int t = e.size();
for(int j = ;j < t;j ++) {
if(e[j].first < a) {
tmp = make_pair(e[j].first * c[i], e[j].second);
if(!p[tmp]) e.push_back(tmp), p[tmp] = ;
}
if(e[j].second < b) {
tmp = make_pair(e[j].first, e[j].second * c[i]);
if(!p[tmp]) e.push_back(tmp), p[tmp] = ;
}
}
for(int j = ;j < e.size();j ++) {
if(e[j].first >= a && e[j].second >= b || e[j].first >= b && e[j].second >= a) {
cout << i;
return ;
}
}
}
puts("-1");
return ;
}
Codeforces Round #413(Div. 1 + Div. 2, combined)——ABCD的更多相关文章
- Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship
Problem Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...
- Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)
Problem Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...
- Educational Codeforces Round 43 (Rated for Div. 2)
Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...
- Educational Codeforces Round 35 (Rated for Div. 2)
Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...
- Educational Codeforces Round 63 (Rated for Div. 2) 题解
Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...
- Educational Codeforces Round 39 (Rated for Div. 2) G
Educational Codeforces Round 39 (Rated for Div. 2) G 题意: 给一个序列\(a_i(1 <= a_i <= 10^{9}),2 < ...
- Educational Codeforces Round 48 (Rated for Div. 2) CD题解
Educational Codeforces Round 48 (Rated for Div. 2) C. Vasya And The Mushrooms 题目链接:https://codeforce ...
- Educational Codeforces Round 60 (Rated for Div. 2) 题解
Educational Codeforces Round 60 (Rated for Div. 2) 题目链接:https://codeforces.com/contest/1117 A. Best ...
随机推荐
- 2017 nodeJS
一.版本迅速更新 Chrome浏览器已经蹦到57版本了,是名副其实的版本帝,作为兄弟的Node.js也一样,1.0之前等了6年,而从1.0到8.0,只用了2年时间,现在已到9以上了 我们就数一下 从v ...
- 使用GitHub(转载)
转自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137628548491 ...
- 解决UTF-8方法归纳
1:通过spring配置过滤器解决 <!-- 配置Spring提供的字符编码过滤器 --> <filter> <filter-name>SpringCharacte ...
- [App Store Connect帮助]三、管理 App 和版本(2.3)输入 App 信息:提供自定许可协议
Apple 提供了适用于所有地区的标准 EULA(最终用户许可协议).如果您不提供自定许可协议,则您的 App 会应用标准 Apple EULA,且该许可协议链接不会显示在您的 App Store 产 ...
- [Swift通天遁地]五、高级扩展-(10)整形、浮点、数组、字典、字符串、点、颜色、图像类的实用扩展
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 微信小程序压缩图片并上传到服务器(拿去即用)
这里注意一下,图片压缩后的宽度是画布宽度的一半 canvasToTempFilePath 创建画布的时候会有一定的时间延迟容易失败,这里加setTimeout来缓冲一下 这是单张图片压缩,多张的压缩暂 ...
- CSS元素超出部分滚动,并隐藏滚动条
方法一, 利用 css 3 的新特性 -webkit-scrollbar, 但是这种方式不兼容 火狐 和 IE <!DOCTYPE html> <html> <head ...
- python抢票开发——设备预约助手实现
女朋友是药学院的,做实验时需要在特定的网站上进行设备预约,由于预约人数过多,从而导致从浏览器登录不进去或者登录进去预约失败等情况,所以我用python帮她写了一个抢位助手,让程序自动去进行位置预定,实 ...
- JavaScript--引用JS外部文件
通过前面知识学习,我们知道使用<script>标签在HTML文件中添加JavaScript代码,如图: JavaScript代码只能写在HTML文件中吗?当然不是,我们可以把HTML文件和 ...
- ACM_迟到的祝福(四)
迟到的祝福(四) Time Limit: 2000/1000ms (Java/Others) Problem Description: 据说前几天是雁来师姐的生日,作为一个15级的小鲜肉A,没及时给师 ...