Codeforces Round #419 (Div. 2)
来源:互联网 发布:淘宝买的催情药管用吗 编辑:程序博客网 时间:2024/05/18 00:03
A
模拟一下即可、
#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <ctime>#include <iostream>#include <algorithm>#include <sstream>#include <string>#include <vector>#include <queue>#include <stack>#include <map>#include <set>#include <utility>using namespace std;#define LL long long#define pb push_back#define mk make_pair#define mst(a, b)memset(a, b, sizeof a)#define REP(i, x, n)for(int i = x; i <= n; ++i)const int qq = 1e5 + 10;int main(){int a, b;scanf("%d:%d", &a, &b);int cnt = 0;while(true){int t2 = b % 10;int t1 = b / 10;int ans = t1 + t2 * 10;if(a == ans){printf("%d\n", cnt);break;}cnt++;b++;if(b >= 60){b = 0;a++;}if(a >= 24){a = 0;}}return 0;}
B
题意:给出n个区间和q次查询和一个数k,给出n个区间ai,bi表示区间ai-bi之间的数都加一,q次查询区间ai-bi有多少个数超过k。
思路:参考传送门
#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <ctime>#include <iostream>#include <algorithm>#include <sstream>#include <string>#include <vector>#include <queue>#include <stack>#include <map>#include <set>#include <utility>using namespace std;#define LL long long#define pb push_back#define mk make_pair#define mst(a, b)memset(a, b, sizeof a)#define REP(i, x, n)for(int i = x; i <= n; ++i)const int qq = 2e5 + 10;int n, k, q;int num[qq];int sum[qq];int main(){scanf("%d%d%d", &n, &k, &q);int a, b;for(int i = 1; i <= n; ++i){scanf("%d%d", &a, &b);num[a] += 1, num[b + 1] += -1;}for(int i = 1; i <= 200000; ++i)sum[i] = sum[i - 1] + num[i];for(int i = 1; i <= 200000; ++i){if(sum[i] < k)sum[i] = 0;elsesum[i] = 1;}for(int i = 1; i <= 200000; ++i)sum[i] += sum[i - 1];while(q--){scanf("%d%d", &a, &b);printf("%d\n", max(sum[b] - sum[a - 1], 0));}return 0;}
题意:给出n,m的矩阵,每次可以选择一行或者一列进行加一,要求你在最操作数最少的情况下得到所给矩阵,没办法得出矩阵则输出-1
思路:其实挺简单的,最开始对这个操作数最少不理解,但想了想这个样例以后
2 3
1 1 1
1 1 1
会发现此时满足行就是两次,满足列就是三次,所以首先判断一下行列的大小决定先满足谁即可
#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <ctime>#include <iostream>#include <algorithm>#include <sstream>#include <string>#include <vector>#include <queue>#include <stack>#include <map>#include <set>#include <utility>using namespace std;#define LL long long#define pb push_back#define mk make_pair#define mst(a, b)memset(a, b, sizeof a)#define REP(i, x, n)for(int i = x; i <= n; ++i)const int qq = 100 + 10;int n, m;int num[qq][qq];vector<int> ans[2];void Solve(int x, int y, int z){REP(i, 1, x){int minx = 1e9;REP(j, 1, y)minx = min(minx, z ? num[i][j] : num[j][i]);REP(j, 1, y)(z ? num[i][j] : num[j][i]) -= minx;while(minx > 0)ans[z].pb(i), minx--;}}int main(){scanf("%d%d", &n, &m);REP(i, 1, n)REP(j, 1, m)scanf("%d", &num[i][j]);if(n <= m)Solve(n, m, 1), Solve(m, n, 0);elseSolve(m, n, 0), Solve(n, m, 1);REP(i, 1, n)REP(j, 1, m)if(num[i][j]){printf("-1\n");return 0;}printf("%d\n", ans[0].size() + ans[1].size());REP(i, 1, ans[0].size())printf("col %d\n", ans[0][i - 1]);REP(i, 1, ans[1].size())printf("row %d\n", ans[1][i - 1]);return 0;}
阅读全文
0 0
- Codeforces Round #419 (Div. 2)
- Codeforces Round #419 (Div. 2)
- Codeforces Round #419 (Div. 2)
- Codeforces Round #419 (Div. 2)
- Codeforces Round #419 (Div. 2)
- Codeforces Round #419 (Div. 2)(A+B)
- Codeforces Round #419 (Div. 2) D
- Codeforces Round #419 (Div. 2) 题解
- Codeforces Round #419 (Div. 2) A
- Codeforces Round#419 (div.1)
- Codeforces Round #102 (Div. 2)
- Codeforces Round #103 (Div. 2)
- Codeforces Round #103 (Div. 2)
- Codeforces Round #104 (Div. 2)
- Codeforces Round #105 (Div. 2)
- Codeforces Round #105 (Div. 2)
- Codeforces Round #107 (Div. 2)
- Codeforces Round #108 (Div. 2)
- Fire Eye APT检测原理
- 序列化和反序列化
- 使用Sphinx为你的python模块自动生成文档
- 再牛的键盘也敲不出我的孤单
- 移动社会化分享漏洞
- Codeforces Round #419 (Div. 2)
- centos7 配置nginx服务、设置开机自动启动
- spring集成阿里消息服务配置
- java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver con
- 属性字符串
- 数据库中实现权全表更新替换
- 防盗链 原理 方法
- MD5 + BASE64加密 对音频部分md5两次
- 外部碎片和内部碎片的区别以及管理方式