Codeforces Round #564 比赛总结
这次是中国大佬出题,结果被虐惨了。
A. Nauuo and Votes
#include<bits/stdc++.h>
#define Rint register int
using namespace std;
typedef long long LL;
int x, y, z;
int main(){
scanf("%d%d%d", &x, &y, &z);
if(x + z - y < ) puts("-");
else if(x - y - z > ) puts("+");
else if(x == y && z == ) puts("");
else puts("?");
}
CF1173A
B. Nauuo and Chess
#include<bits/stdc++.h>
#define Rint register int
using namespace std;
typedef long long LL;
int n, m;
int main(){
scanf("%d", &n);
m = (n >> ) + ;
printf("%d\n", m);
for(Rint i = ;i <= m;i ++)
printf("%d %d\n", , i);
for(Rint i = ;i <= n - m + ;i ++)
printf("%d %d\n", i, m);
}
CF1173B
C. Nauuo and Cards
(乱搞能力有待加强)
首先我们分两种情况,手上会拿到1和不会拿到1.
对于后者,初始的时候1要在队列中并且它之后是$2,3,4,\ldots,i-1$,然后之后可以把$i,i+1,\ldots,n$放进队列中,需要$n-i+1$步。
对于前者,用$p_i$表示$i$初始在队列的位置,不在则为0,也就是至少$p_i$步之后可以拿到这张牌,将$i$从$p_i$这个位置转移到$i$需要$p_i-i+n+1$步,取最大值即为答案。
感性理解:首先如果后者可以那么后者一定比前者更优,对于前者,我们可以通过先扔一些空牌来拿到足够的牌,然后依次把$1,2,3,\ldots n$扔出去,不会更优。
#include<bits/stdc++.h>
#define Rint register int
using namespace std;
const int N = ;
int n, a[N], b[N], p[N], ans;
int main(){
scanf("%d", &n);
for(Rint i = ;i <= n;i ++){
scanf("%d", a + i); p[a[i]] = ;
}
for(Rint i = ;i <= n;i ++){
scanf("%d", b + i); p[b[i]] = i;
}
if(p[]){
int i, j;
for(i = ;p[i] == p[] + i - ;i ++);
if(p[i - ] == n){
for(j = i;j <= n && p[j] <= j - i;j ++);
if(j > n){
printf("%d\n", n - i + );
return ;
}
}
}
for(Rint i = ;i <= n;i ++) ans = max(ans, p[i] - i + n + );
printf("%d", ans);
}
CF1172A
D. Nauuo and Circle
我们发现,对于节点$x$的子树,它在排列中必定是一段连续的区间,否则就会跟其他的子树导致边相交。
这个排列是可以旋转的,所以钦定$p_1=1$。
设节点$i$的度数为$deg_i$。
我们使用捆绑法,将必须要连在一起的先捆绑起来,之后再对子树进行递归。
例如样例1,2就是这样的:
$$(1,(2,4),3)$$
$$(1,2,3,4)$$
(同个括号里的表示必须要连续)
对于节点$1$,我们可以任意排列它的$deg_1$棵子树,对于其他节点$x$,我们可以排列它自己和$deg_x-1$棵子树
$$Ans=n\prod_{i=1}^ndeg_i!$$
#include<bits/stdc++.h>
#define Rint register int
using namespace std;
typedef long long LL;
const int N = , mod = ;
int n, fac[N], deg[N], ans;
int main(){
scanf("%d", &n);
for(Rint i = ;i < n;i ++){
int a, b;
scanf("%d%d", &a, &b);
deg[a] ++; deg[b] ++;
}
fac[] = ans = ;
for(Rint i = ;i <= n;i ++) fac[i] = (LL) i * fac[i - ] % mod;
for(Rint i = ;i <= n;i ++) ans = (LL) ans * fac[deg[i]] % mod;
printf("%d\n", (LL) ans * n % mod);
}
CF1137D
Codeforces Round #564 比赛总结的更多相关文章
- Codeforces Round #564 (Div. 1)
Codeforces Round #564 (Div. 1) A Nauuo and Cards 首先如果牌库中最后的牌是\(1,2,\cdots, k\),那么就模拟一下能不能每次打出第\(k+i\ ...
- Codeforces Round #564(div2)
Codeforces Round #564(div2) 本来以为是送分场,结果成了送命场. 菜是原罪 A SB题,上来读不懂题就交WA了一发,代码就不粘了 B 简单构造 很明显,\(n*n\)的矩阵可 ...
- Codeforces Round #564 (Div. 2) C. Nauuo and Cards
链接:https://codeforces.com/contest/1173/problem/C 题意: Nauuo is a girl who loves playing cards. One da ...
- Codeforces Round #564 (Div. 2) B. Nauuo and Chess
链接:https://codeforces.com/contest/1173/problem/B 题意: Nauuo is a girl who loves playing chess. One da ...
- Codeforces Round #564 (Div. 2) A. Nauuo and Votes
链接:https://codeforces.com/contest/1173/problem/A 题意: Nauuo is a girl who loves writing comments. One ...
- Codeforces Round #564 (Div. 2)B
B. Nauuo and Chess 题目链接:http://codeforces.com/contest/1173/problem/B 题目 Nauuo is a girl who loves pl ...
- Codeforces Round #564 (Div. 2)A
A. Nauuo and Votes 题目链接:http://codeforces.com/contest/1173/problem/A 题目 Nauuo is a girl who loves wr ...
- Educational Codeforces Round 77 比赛总结
比赛情况 我太菜了 A题 加减乘除不会 B题 二元一次方程不会 C题 gcd不会 就会一个D题二分答案大水题,本来想比赛最后一分钟来一个绝杀,结果 Wrong Answer on test 4 比赛总 ...
- Codeforces Round 564 题解
很抱歉让标题把您骗进来了. 这是一场打得最失败的div1. 作为一个橙名一题都不会…… 旁边紫名的PB怒切3题,div2的也随便玩玩出了div1b/div2d…… 这名字颜色也太有水分了. 也就只会2 ...
随机推荐
- Tomcat与WAS应用中间件差异化分析研究
--转载 http://blog.chinaunix.net/uid-25723371-id-5759072.html 目前我们在使用的基于JAVA的提供逻辑展现应用中间件有两种,一种是以商用软件WA ...
- PAT-1013 Battle Over Cities (25 分) DFS求连通块
It is vitally important to have all the cities connected by highways in a war. If a city is occupied ...
- 搭建SSM环境(淘淘商城)
本文用到的资料: 链接:https://pan.baidu.com/s/1Pk_aI_PRbqRFP9i3o9Xodg 提取码:o4o4 1.1. 数据库 1.1.1. 使用navicat创建数据库连 ...
- vue中子组件的created、mounted钩子中获取不到props中的值问题
父子组件通信 这个官网很清楚,也很简单,父组件中使用v-bind绑定传送,子组件使用props接收即可 例如: 父组件中: <template> <div> <head- ...
- pycharm2019.2永久激活
Pycharm2019.2永久激活Pycharm官网在不到两个月内与2019.7.24更新到最新版本pycharm2019.2,不可说更新不快,对于"喜新厌旧"的我怎能错过新版本呢 ...
- C++ 语句函数再探
1. 表达式只计算,抛弃计算结果: 2. 空语句什么也不做: 3.switch case语句漏写break,将会从匹配到的情况开始执行,直到语句结束 int main() { ; i + ; //表达 ...
- vscode-golang跳转定义无效问题
问题发现: 本来可以进行"ctrl"+点击或者F12,进行跳转定义的方式,突然失效了 问题分析: 1.辅助工具是否关闭 解决方案,进入首选项,设置,查找go.docsTool,选项 ...
- 第一章 Django之学习Django所需知识(3)
所需编程知识 本书读者需要理解基本的面向过程和面向对象编程:流程控制(if, while 和 for),数据结构(列表,哈希表/字典),变量,类和对象. Web 开发经验,正如你所想的,也是非常有帮助 ...
- Scyther 形式化分析工具资料整理(三)
1.作者Cas Cremers在做TLS1.3的时候我么发现并没有使用Scyther 形式化丰分析工具对其进行分析,而是使用了 The Tamarin .作者建立了TLS.13的模型. 那么我的目标是 ...
- Ubuntu系统---Ubuntu16.04进不了界面(登录界面循环,密码正确)(一体化安装(CUDA +NVIDIA驱动)+ cuDNN)
Ubuntu16.04进不了界面(登录界面循环,密码正确)(一体化安装(CUDA +NVIDIA驱动)+ cu ...