Codeforces Round #323 (Div. 2)
被进爷坑了,第二天的比赛改到了12点
水 A - Asphalting Roads
/************************************************
* Author :Running_Time
* Created Time :2015/10/3 星期六 21:53:09
* File Name :A.cpp************************************************/#include <cstdio>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <queue>
#include <deque>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <bitset>
#include <cstdlib>
#include <ctime>
using namespace std;#define lson l, mid, rt << 1
#define rson mid + 1, r, rt << 1 | 1
typedef long long ll;
const int N = 55;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
const double EPS = 1e-8;
bool r[N], c[N];int main(void) {memset (r, false, sizeof (r));memset (c, false, sizeof (c));int n; scanf ("%d", &n);vector<int> ans;n = n * n;for (int x, y, i=1; i<=n; ++i) {scanf ("%d%d", &x, &y);if (!r[x] && !c[y]) {r[x] = c[y] = true;ans.push_back (i);}}for (int i=0; i<ans.size (); ++i) {printf ("%d%c", ans[i], (i == ans.size () - 1) ? '\n' : ' ');}return 0;
}
水 B - Robot's Task
/************************************************
* Author :Running_Time
* Created Time :2015/10/3 星期六 21:53:24
* File Name :B.cpp************************************************/#include <cstdio>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <queue>
#include <deque>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <bitset>
#include <cstdlib>
#include <ctime>
using namespace std;#define lson l, mid, rt << 1
#define rson mid + 1, r, rt << 1 | 1
typedef long long ll;
const int N = 1e3 + 10;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
const double EPS = 1e-8;
int a[N];int main(void) {int n; scanf ("%d", &n);for (int i=1; i<=n; ++i) {scanf ("%d", &a[i]);}int ans = 0, d = 1, m = 0, p = 0;bool flag = false;while (true) {if (d == 1) {for (int i=p+1; i<=n; ++i) {if (m >= a[i]) {a[i] = INF;m++; p = i;flag = true;}}if (m == n) break;d ^= 1; ans++;}else {for (int i=p-1; i>=1; --i) {if (m >= a[i]) {a[i] = INF;m++; p = i;flag = true;}}if (m == n) break;d ^= 1; ans++;}}printf ("%d\n", ans);return 0;
}
贪心 C - GCD Table
题意:给了一张GCD表,问原来的求GCD的那些数
分析:从大到小找,最大的数和其他的数的GCD都不大于它,每次找到一个就能把它和已知的答案的GCD给删除,map+暴力就可以了
/************************************************
* Author :Running_Time
* Created Time :2015/10/3 星期六 21:53:35
* File Name :C.cpp************************************************/
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <queue>
#include <deque>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <bitset>
#include <cstdlib>
#include <ctime>
using namespace std;#define lson l, mid, rt << 1
#define rson mid + 1, r, rt << 1 | 1
typedef long long ll;
const int N = 5e2 + 10;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
const double EPS = 1e-8;
int a[N*N];
int ans[N];
map<int, int> cnt;int GCD(int a, int b) {return b ? GCD (b, a % b) : a;
}int main(void) {int n; scanf ("%d", &n);int m = n;n = n * n;for (int i=1; i<=n; ++i) {scanf ("%d", &a[i]);cnt[-a[i]]++;}int pos = m;map<int, int>::iterator it;for (it=cnt.begin (); it!=cnt.end (); ++it) {int x = -it -> first;while (it -> second) {ans[pos] = x;--it -> second;for (int i=pos+1; i<=m; ++i) {cnt[-GCD (ans[pos], ans[i])] -= 2;}pos--;}}for (int i=1; i<=m; ++i) {printf ("%d%c", ans[i], (i == m) ? '\n' : ' ');}return 0;
}
转载于:https://www.cnblogs.com/Running-Time/p/4857810.html
Codeforces Round #323 (Div. 2)相关推荐
- Codeforces Round #323 (Div. 2) C. GCD Table
C. GCD Table 题目链接: http://codeforces.com/contest/583/problem/C 题意是给你n个数,可以构成n*n的GCD矩阵,矩阵里的元素顺序可以是任意的 ...
- Codeforces Round #323 (Div. 1) B. Once Again... 暴力
B. Once Again... Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/582/probl ...
- 重复T次的LIS的dp Codeforces Round #323 (Div. 2) D
http://codeforces.com/contest/583/problem/D 原题:You are given an array of positive integers a1, a2, . ...
- Codeforces Round #323 (Div. 2) A. Asphalting Roads
A. Asphalting Roads time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces Round #323 (Div. 2) C.GCD Table
C. GCD Table The GCD table G of size n × n for an array of positive integers a of length n is define ...
- Codeforces Round #323 (Div. 2): C. GCD Table(思维题)
题意: 给你一个长度为n的序列a[1]~a[n], 之后用这个序列生成一个n*n的矩阵,其中矩阵第i行第i列的值为a[i],第i行第j列(j!=i)的值为Gcd(a[i], a[j]),现在给你一个矩 ...
- Codeforces Round #597 (Div. 2) - BenFromHRBUST
Codeforces Round #597 (Div. 2) -----比赛传送门----- A - Good ol' Numbers Coloring Problem Description Con ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- Codeforces Round #563 (Div. 2)/CF1174
Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...
最新文章
- Enabling HierarchyViewer on Rooted Android Devices
- 田志刚北京大学CIO(信息总监)班讲知识管理
- conda 常用操作 镜像管理
- leetcode 101. 对称二叉树 递归解法 c语言
- 【AI初识境】深度学习模型中的Normalization,你懂了多少?
- 07/11/20 资料整理
- JS 异常: Uncaught RangeError: Maximum call stack size exceeded
- pip指定包的安装路径
- 深度学习(04)-- 典型CNN结构(LeNet5 ,AlexNet)
- python-运算符之算术运算符
- 登录和注销、基于Session的购物车案例、验证码的使用、防止表单重复提交
- matlab 有限域函数,matlab有限域上的运算.docx
- 中国传统颜色16进制颜色码
- Windows server 2016 Windows 10 离线下载与离线安装补丁教程 支持批量安装(其他win系统类似)
- mysql怎么做纵表,本文实例讲述了MySQL横纵表相互转化操作实现方法。分享给大家供大家参考,具体如下:先创建一个成绩表(纵表)create table user_scor...
- 如何查询主机IP地址
- 7.前端入门小工具之PS辅助
- 如何提高CSDN博客排名
- CVPR2020/UDA/图像翻译-Cross-domain Correspondence Learning for Exemplar-based Image Translation基于范例的跨域对应
- linux没有cpufreq目录,为什么数值计算的时候 cpu 到不了最大频率?