Codeforces Round #366 (Div. 2) 题解

题目链接:http://codeforces.com/contest/705


A.思路:找规律。仔细看一下样例,大概就知道规律了。先输出"I hate ",然后将计数减一,再每次输出"that ",然后交替输出"I love "、"I hate ",直到计数结束,最后再输出"it"。详见代码。


附上AC代码:

#include <bits/stdc++.h>
using namespace std;
const char s1[] = "I hate ";
const char s2[] = "I love ";
int n;

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin >> n;
	cout << s1;
	--n;
	for (int i=0; i<n; ++i){
		cout << "that ";
		if ((i&1) == 0)
			cout << s2;
		else
			cout << s1;
	}
	cout << "it" << endl;
	return 0;
}

B.思路:简单的博弈。每次都要拆环成两段,而且每段必须要有至少一个点,不能拆就输了。所以只需要求和判断一下奇偶即可。详见代码。


附上AC代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin >> n;
	ll sum = 0;
	int num;
	for (int i=0; i<n; ++i){
		cin >> num;
		sum += num-1;
		if (sum%2 == 0)
			cout << 2 << endl;
		else
			cout << 1 << endl;
	}
	return 0;
}

C.思路:就是模拟一下就好了,但肯定不能太暴力了,稍微有技巧一下就可以了。用vector数组存储每个应用的所有信息编号,set存储未读消息,一个计数器记录是第几条消息,然后开始模拟,代码较简单,会用STL就很容易,所以不详述。详见代码。


附上AC代码:

#include <bits/stdc++.h>
using namespace std;
const int maxn = 300005;
vector<int> v[maxn];
set<int> s;
set<int>::iterator it;
int n, q;

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin >> n >> q;
	int cnt=0, a, b;
	while (q--){
		cin >> a >> b;
		if (1 == a){
			v[b].push_back(++cnt);
			s.insert(cnt);
		}
		else if (2 == a){
			for (int i=0; i<v[b].size(); ++i){
				int id = v[b][i];
				s.erase(id);
			}
			v[b].clear();
		}
		else{
			while (!s.empty()){
				if (*s.begin() > b)
					break;
				s.erase(*s.begin());
			}
		}
		cout << s.size() << endl;
	}
	return 0;
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值