首页 >web前端 >html教程 >Codeforces Round #268 (Div. 2)_html/css_WEB-ITnose

Codeforces Round #268 (Div. 2)_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:57:231021浏览

Codeforces Round #268 (Div. 2)

题目链接

A:有的标记掉判断一下即可

B:枚举时间一个个去判断一下即可

C:构造一下,4和5分别手动构造,然后之后每次多2个数字就先相减掉得到1,然后乘上原数字不变,4以下的是绝对构造不出来的

D:贪心,先排序,然后每次twopointer选头尾两个判断能丢进哪个集合,都不行就找一个之前满足的丢进小集合

E:推理,详细见官方题解,大致是推出来后,[x, x + 1e18 - 1]这个区间,每次挪动一个变成[x + 1, x + 1e18],对应的总和就加1,那么只要能求出[1, 1e18]的值,然后在去挪动相应步数得到相应区间即可,计算1-1e18的和推推规律就可以发现了,官方题解上也有公式

代码:

A:

#include <cstdio>#include <cstring>int n, p, q, vis[105];bool solve() {	for (int i = 1; i   <br> B:  <p></p>  <p> </p>  <pre name="code" class="sycode">#include <cstdio>#include <cstring>const int N = 55;int p, q, l, r, ans;int vis[10005], c[N], d[N];bool judge(int t) {	for (int i = 0; i   <br> C:  <p></p>  <p> </p>  <pre name="code" class="sycode">#include <cstdio>#include <cstring>#include <vector>#include <algorithm>using namespace std;int n;void solve(int n) {	if (n % 2 == 0) {		printf("1 + 2 = 3\n");		printf("3 + 3 = 6\n");		printf("6 * 4 = 24\n");		for (int i = 5; i   <br> D:  <p></p>  <p> </p>  <pre name="code" class="sycode">#include <cstdio>#include <cstring>#include <map>#include <algorithm>using namespace std;const int N = 100005;int n, a, b;map<int int> to;struct Seq {	int num, id, to, vis;} s[N];bool cmp(Seq a, Seq b) {	return a.num  b || s[st].num + s[ed].num  b) {		swap(a, b);		flag = 1;	}	for (int i = 0; i   <br> E:  <p></p>  <p> </p>  <pre name="code" class="sycode">#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;const ll INF = 1e18;ll a;int main() {	scanf("%lld", &a);	ll num = INF / 10 % a;	num = num * 2 % a;	num = num * 9 % a;	num = num * 9 % a;	num = num * 5 % a;	printf("%lld %lld\n", a - num, a - num + INF - 1);	return 0;}</algorithm></cstring></cstdio>


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn