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的更多相关文章

  1. AtCoder Beginner Contest 100 2018/06/16

    A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...

  2. AtCoder Beginner Contest 052

    没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...

  3. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  4. AtCoder Beginner Contest 136

    AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...

  5. AtCoder Beginner Contest 137 F

    AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...

  6. AtCoder Beginner Contest 076

    A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...

  7. AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】

    AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...

  8. AtCoder Beginner Contest 064 D - Insertion

    AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...

  9. AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle【暴力】

    AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...

随机推荐

  1. C#Assembly、程序集、装配件、命名空间以及类型的关系

    Assembly = 程序集 = 装配件 命名空间是类的逻辑组织形式,程序集是类的物理组织形式. 程序集其实和命名空间没有什么必然的联系. 程序集1: namespace1{ public class ...

  2. Jpress小程序

    首页轮播.首页公告.首页宫格.个人中心页面均支持在PC后台设置内容 首页列表.分类列表页.搜索列表的文章展示页均支持后台设置,拥有三种风格 所有分类展示支持两种风格 用户中心授权登陆,查看个人数据 J ...

  3. MySQL 基础面试题

    请写出什么是事务? 事务是一组不可分割的 DML 语句,事务处理可以用来维护数据库的完整性,保证一组 SQL 语句要么全部执行成功,要么全部不执行,只有 InnoDB 存储引擎才支持事务 . 事务的特 ...

  4. Ubuntu 下更改pip源使用清华源

    一.新建目录 sudo -s mkdisk ~./pip vim ~./pip/pip.conf 二.复制下面代码,并保存 [global] index-url = https://pypi.tuna ...

  5. Redis之哨兵机制(sentinel)——配置详解及原理介绍

    说到Redis不得不提哨兵模式,那么究竟哨兵是什么意思?为什么要使用哨兵呢? 接下来一一为您讲解: 1.为什么要用到哨兵 哨兵(Sentinel)主要是为了解决在主从(master-slave)复制架 ...

  6. 计蒜客 第四场 C 商汤科技的行人检测(中等)平面几何好题

    商汤科技近日推出的 SenseVideo 能够对视频监控中的对象进行识别与分析,包括行人检测等.在行人检测问题中,最重要的就是对行人移动的检测.由于往往是在视频监控数据中检测行人,我们将图像上的行人抽 ...

  7. js sort tricks All In One

    js sort tricks All In One js 排序技巧 const arr = [ { label: 'False 1 ', disabled: false, }, { label: 'F ...

  8. how to convert SVG shapes to polygon

    how to convert SVG shapes to polygon 如何将 svg 的 rect 转换成 polygon rect.circle.ellipse.line.polyline.po ...

  9. Go之Casbin简介,安装,模型,存储,函数

    简介 Casbin是一个强大的,高效的开源访问控制框架,其权限管理机制支持多种访问控制模型 支持编程语言 不同语言中支持的特性 我们一直致力于让 Casbin 在不同的编程语言中拥有相同的特性. 但是 ...

  10. spring框架aop用注解形式注入Aspect切面无效的问题解决

    由于到最后我的项目还是有个邪门的错没解决,所以先把文章大概内容告知: 1.spring框架aop注解扫描默认是关闭的,得手动开启. 2.关于Con't call commit when autocom ...