Codeforces Round #366 (Div. 2)
CF 复仇者联盟场。。。
水题 A - Hulk(绿巨人)
输出love hate。。。
#include <bits/stdc++.h> typedef long long ll;
const int N = 1e5 + 5; int main() {
int n;
scanf ("%d", &n);
printf ("I hate");
for (int i=1; i<n; ++i) {
if (i & 1) printf (" that I love");
else printf (" that I hate");
}
puts (" it");
return 0;
}
博弈+打表找规律 B - Spider Man(蜘蛛侠)
注意到每次多一个圈,之前的还是初始状态,各组是独立的,所以打个表或者分析一下就能找到规律。
#include <bits/stdc++.h> typedef long long ll;
const int N = 1e5 + 5;
int a[N];
int sg[105]; int SG(int x) {
if (x < 2) return sg[x] = 0;
bool vis[105];
memset (vis, false, sizeof (vis));
for (int i=1; i<x; ++i) {
vis[SG (i) ^ (SG (x-i))] = true;
}
int &ret = sg[x] = 0;
while (vis[ret]) ret++;
return ret;
} void test() {
memset (sg, -1, sizeof (sg));
for (int i=1; i<=20; ++i) {
printf ("sg[%d]=%d\n", i, SG (i));
}
} int main() {
//test ();
int n;
scanf ("%d", &n);
for (int i=1; i<=n; ++i) scanf ("%d", a+i);
int ans = 0;
for (int i=1; i<=n; ++i) {
int res = a[i] & 1 ? 0 : 1;
ans ^= res;
printf ("%d\n", ans ? 1 : 2);
}
return 0;
}
构造 C - Thor(雷神)
题意:一个手机有n个应用,有三种操作:
1. 第x个应用有一个未读信息;
2. 读完当前第x个应用的所有未读信息;
3. 读完最前面t个信息(信息可能被重读);
每次操作后输出当前未读信息的条数。
思路:第3个操作“最前面t个”很关键,那么只要进行max(t) 次操作。如果要读的信息在之后时间点被读掉(第2种操作)那就不更新,那么维护下最新的“清空”的应用编号和时间即可。之前有个地方写了continue,结果答案没输出,WA了好久。
#include <bits/stdc++.h> typedef long long ll;
const int N = 3e5 + 5; int cnt[N];
int clear_time[N];
std::pair<int, int> que[N]; int main() {
int n, q;
scanf ("%d%d", &n, &q);
int m = 0, ans = 0;
int tp, x, t, maxt = 0;
for (int i=1; i<=q; ++i) {
scanf ("%d", &tp);
if (tp == 1 || tp == 2) {
scanf ("%d", &x);
if (tp == 1) {
cnt[x]++;
ans++;
que[++m] = {x, i};
} else {
ans -= cnt[x];
cnt[x] = 0;
clear_time[x] = i;
}
} else {
scanf ("%d", &t);
if (t > maxt) {
for (int j=maxt+1; j<=t; ++j) {
int pos = que[j].first, tim = que[j].second;
if (clear_time[pos] >= tim) continue;
cnt[pos]--;
ans--;
}
maxt = t;
}
}
printf ("%d\n", ans);
}
return 0;
}
Codeforces Round #366 (Div. 2)的更多相关文章
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #366 Div.2[11110]
这次出的题貌似有点难啊,Div.1的Standing是这样的,可以看到这位全站排名前10的W4大神也只过了AB两道题. A:http://codeforces.com/contest/705/prob ...
- Codeforces Round #366 (Div. 2) B
Description Peter Parker wants to play a game with Dr. Octopus. The game is about cycles. Cycle is a ...
- Codeforces Round #366 (Div. 2) C 模拟queue
C. Thor time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...
- Codeforces Round #366 (Div. 2) B 猜
B. Spider Man time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- Codeforces Round #366 (Div. 2) A
A. Hulk time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- Codeforces Round #366 (Div. 2) C Thor(模拟+2种stl)
Thor 题意: 第一行n和q,n表示某手机有n个app,q表示下面有q个操作. 操作类型1:app x增加一条未读信息. 操作类型2:一次把app x的未读信息全部读完. 操作类型3:按照操作类型1 ...
- Codeforces Round #366 (Div. 2)_B. Spider Man
B. Spider Man time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- Codeforces Round #366 (Div. 2)_C. Thor
C. Thor time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...
随机推荐
- Learning Spark 第四章——键值对处理
本章主要介绍Spark如何处理键值对.K-V RDDs通常用于聚集操作,使用相同的key聚集或者对不同的RDD进行聚集.部分情况下,需要将spark中的数据记录转换为键值对然后进行聚集处理.我们也会对 ...
- Flask安装过程中“配置虚拟环境”步骤报错,找不到activate.bat
Run virtualenv venv --no-setuptools http://stackoverflow.com/questions/21826859/setting-up-a-virtual ...
- enum 与 enum class
c++11中引入了新的枚举类型---->强制枚举类型 // unscoped enum: enum [identifier] [: type] {enum-list}; // scoped e ...
- visual stuido 跨解决方案调试
visual stuido 跨解决方案调试 一个解决方案是一个第三方库,另一个是单独的程序.调试的时候要同时跟踪源码.因为第三方库并没有直接使用它的源码,而是使用生成的dll,直接进行调试比较麻烦,会 ...
- json 构造和解析
目录: (1)引入jar包: (2)json的构造: (3)json的解析: (4)遍历未知key. (1)java对json的处理,可借助org.json.jar. <!-- https:// ...
- Camtasia 录屏说明
准备好要录制的屏幕或网页,在即将播放的位置暂停住. 从开始菜单位置“TechSmith”启动Camtasia Recorder 8,其界面如下所示: 注意,要录制系统声音,须在Recorded inp ...
- ABAP 常见查询问题解决方法
在ABAP 编程的时候会遇到查询单条语句的时候数能取对 但是条目数多了的话 会出现数不准确的问题 原因可能出现在查询使用了二分法查询方式 二分法查询下必须按排序的字段排序 还得按照排序的字段 ...
- 一个特殊情形的Mittag-Leffler分解
Mittag-Leffler分解定理的证明有多种,比如可以利用一维$\overline{\partial}$的解来构造相应的函数,还可以利用极点主部的Taylor多项式来进行修正使得$\sum(g_{ ...
- access基本操作(c#操作,远程连接,执行sql,加密,备份)
前言 最近项目用到了access,是的就是access,工作在桌面型的小数据库应用还是会用到的,如果你确定永远不会遇到access的操作,请忽略此篇文章 1.vs配置access 既然是数据库,就少不 ...
- 四、线程同步之Lock和Condition
Lock同步锁 Lock 在jdk1.5 提供了Lock以便执行同步操作,和synchronized不同的是Lock提供了显示的方法获取锁和释放锁.Lock提供了以下几个方法,请求和释放锁: voi ...