AtCoder Beginner Contest 190
A Very Very Primitive Game
int main()
{
	int a, b, c;
	cin >> a >> b >> c;
	if(c == 0)
	{
		if(a <= b) puts("Aoki");
		else puts("Takahashi");
	}
	if(c == 1)
	{
		if(b <= a) puts("Takahashi");
		else puts("Aoki");
	}
	return 0;
}
B Magic 3
int main()
{
	int n, s, d;
	scanf("%d%d%d", &n, &s, &d);
	int flag = 0;
	for(int i = 1; i <= n; ++ i)
	{
		int x, y;
		scanf("%d%d", &x, &y);
		if(x < s && y > d) flag = 1;
	}
	puts(flag ? "Yes" : "No");
	return 0;
}
C Bowls and Dishes
int n, m, k;
int a[N], b[N];
int c[N], d[N];
int st[N];
int ans;
void check()
{
	int res = 0;
	for(int i = 1; i <= m; ++ i)
		if(st[a[i]] && st[b[i]]) res ++;
	ans = max(ans, res);
}
void dfs(int t)
{
	if(t == k + 1) check();
	else
	{
		st[d[t]] ++;
		dfs(t + 1);
		st[d[t]] --;
		st[c[t]] ++;
		dfs(t + 1);
		st[c[t]] --;
	}
}
int main()
{
	scanf("%d%d", &n, &m);
	for(int i = 1; i <= m; ++ i) scanf("%d%d", &a[i], &b[i]);
	scanf("%d", &k);
	for(int i = 1; i <= k; ++ i) scanf("%d%d", &c[i], &d[i]);
	dfs(1);
	printf("%d\n", ans);
	return 0;
}
D Staircase Sequences
LL n;
int main()
{
	IOS;
	cin >> n;
	LL res = 0;
	n *= 2;
	for(LL i = 1; i <= n / i; ++ i)
	{
		if(n % i == 0)
		{
			LL a = i, b = n / i;
			if(a % 2 != b % 2) res ++;
		}
	}
	cout << res * 2 << endl;
	return 0;
}
E Magical Ornament
const int N = 2e5 + 10;
const int M = 17;
int n, m, k;
struct Edge
{
	int to, nxt;
}line[N];
int fist[N], idx;
int c[N], d[N];
int f[1 << M][M];
int w[M][M];
void add(int x, int y)
{
	line[idx] = {y, fist[x]};
	fist[x] = idx ++;
}
void bfs(int x)
{
	queue > q;
	q.push({x, 0});
	while(!q.empty())
	{
		auto u = q.front(); q.pop();
		for(int i = fist[u.first]; i != -1; i = line[i].nxt)
		{
			int v = line[i].to;
			if(d[v] == -1)
			{
				d[v] = u.second + 1;
				q.push({v, d[v]});
			}
		}
	}
}
int main()
{
	memset(fist, -1, sizeof fist);
	scanf("%d%d", &n, &m);
	for(int i = 1; i <= m; ++ i)
	{
		int a, b;
		scanf("%d%d", &a, &b);
		add(a, b), add(b, a);
	}
	scanf("%d", &k);
	for(int i = 0; i < k; ++ i) scanf("%d", &c[i]);
	for(int i = 0; i < k; ++ i)
	{
		for(int j = 1; j <= n; ++ j) d[j] = -1;
		d[c[i]] = 0;
		bfs(c[i]);
		for(int j = 0; j < k; ++ j)
			w[i][j] = (d[c[j]] == -1) ? INF : d[c[j]];
	}
	// for(int i = 0; i < k; ++ i)
	// {
	// 	for(int j = 0; j < k; ++ j)
	// 		printf("%d ", w[i][j]);
	// 	puts("");
	// }
	memset(f, 0x3f, sizeof f);
	for(int i = 0; i < k; ++ i) f[1 << i][i] = 1;
	for(int i = 1; i < (1 << k); ++ i)
		for(int j = 0; j < k; ++ j) if(i >> j & 1)
			for(int t = 0; t < k; ++ t) if((i ^ 1 << j) >> t & 1)
				f[i][j] = min(f[i][j], f[i ^ 1 << j][t] + w[t][j]);
	int res = INF;
	for(int i = 0; i < k; ++ i) res = min(res, f[(1 << k) - 1][i]);
	if(res >= INF) puts("-1");
	else printf("%d\n", res);
	return 0;
}
F Shift and Inversions
int n;
int tr[N];
int a[N];
int lowbit(int x) { return x & -x; }
void add(int x, int v) { for(int i = x; i <= n; i += lowbit(i)) tr[i] += v; }
int sum(int x) { int res = 0; for(int i = x; i; i -= lowbit(i)) res += tr[i]; return res; }
int main()
{
	scanf("%d", &n);
	for(int i = 1; i <= n; ++ i) { scanf("%d", &a[i]); a[i] ++; }
	LL res = 0;
	for(int i = 1; i <= n; ++ i)
	{
		res += sum(n) - sum(a[i]);;
		add(a[i], 1);
	}
	printf("%lld\n", res);
	for(int i = 1; i < n; ++ i)
	{
		res -= sum(a[i] - 1);
		res += sum(n) - sum(a[i]);
		printf("%lld\n", res);
	}
	return 0;
}
2021.2.2
AtCoder Beginner Contest 190的更多相关文章
- AtCoder Beginner Contest 100 2018/06/16
		A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ... 
- AtCoder Beginner Contest 052
		没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ... 
- AtCoder Beginner Contest 053 ABCD题
		A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ... 
- AtCoder Beginner Contest 136
		AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ... 
- AtCoder Beginner Contest 137 F
		AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ... 
- AtCoder Beginner Contest 076
		A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ... 
- AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】
		AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ... 
- AtCoder Beginner Contest 064 D - Insertion
		AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ... 
- AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle【暴力】
		AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ... 
随机推荐
- css整理之-----------选择器
			背景 在20年初时总感觉自己的css 不够用,想把css 相关的东西整理下,去年一整年都比较忙,忙着就到2021了,今天趁着有点时间,先从选择器开始吧. 听说图片可以提升颜值.... 选择器 CSS选 ... 
- Python3.5 配置MySql数据库连接
			#!coding:utf-8 import pymysql ''' Python3之后不再支持MySQLdb的方式进行访问mysql数据库: 可以采用pymysql的方式 连接方式: 1.导包 imp ... 
- ELK Stack 介绍 & Logstash 日志收集
			ELK Stack 组成 Software Description Function E:Elasticsearch Java 程序 存储,查询日志 L:Logstash Java 程序 收集.过滤日 ... 
- 实战交付一套dubbo微服务到k8s集群(3)之二进制安装Maven
			maven官网:https://maven.apache.org/ maven二进制下载连接:https://archive.apache.org/dist/maven/maven-3/3.6.1/b ... 
- leetcode5 最长回文字符串 动态规划 Manacher法
			dp 注意没有声明S不空,处理一下 o(n^2) class Solution { public: string longestPalindrome(string s) { if (s.empty() ... 
- 地址解析协议ARP与逆地址解析协议RARP
			IP地址是用来通信的,但是和硬件地址是有区别的.物理地址是数据链路层和物理层使用的地址,IP地址是网络层及以上各层使用的地址. 发送数据时,数据从高层向下层传输,使用IP地址的IP数据报交给下层的数据 ... 
- Github Docs All In One
			Github Docs All In One docs https://docs.github.com/en https://github.com/github/docs GitHub REST AP ... 
- LeetCode & linked list bug
			LeetCode & linked list bug add-two-numbers shit test /** * Definition for singly-linked list. * ... 
- HTML5 Server-Sent Events
			HTML5 Server-Sent Events SSE demo https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_sse htt ... 
- c++指针练习
			Pointers 在getchar处断点,断点后,调试->窗口->反汇编 查看数据 main #include <iostream> #include <Windows. ... 
