[ICPC训练联盟周赛1] CTU Open Contest 2019

昨天ICPC训练联盟进行了第一场比赛,题目是CTU Open Contest 2019,烟台大学给出了解析。

题目和题解在此(提取码zre3)

我和索队还有yz组队,喊着队友nb就AK了,抱大腿真爽。

A题是简单的组合数学,显然有公式
\(1\times C_n^1+2\times C_n^2+ \dots + n \times C_n^n=n \times 2^{n-1}\)
但忘了考虑\(n=0\)的情况,我wa了一发。

B题题目我不太读得懂,yz A的。

C题是算圆和矩形相交的面积,我抄了kuangbin的计算几何板子,A掉了。

D题我一开始看了,从拓扑序考虑,没什么进展,最后一小时索队用二分图匹配A掉了。

E题是字符串的编辑距离,yz A了。

F题类似于三分查找,yz A了。

G题是让你求最长的重新排列后能构成回文串的子串的长度。这题我见过类似的,不过是在树上,更难,是Codeforces 741D,因为只有20个字母,所以可以状压+哈希,索队把数组当作树链去输入A了,但我重新写的因为最后一步才Hash去判,WA了。

H题是大模拟,样例有点难理解,yz A了

I题是组合数学题,容易发现是每三格一循环的,我A了。

J是枚举每一对向量去判,索队A了。

罚时和Rank1还是有差距,看来手速还是比较慢。

原文地址:https://www.cnblogs.com/AEMShana/p/12354961.html

时间: 2024-08-27 19:52:00

[ICPC训练联盟周赛1] CTU Open Contest 2019的相关文章

03.28,周六,12:00-17:00,ICPC训练联盟周赛,选用试题:UCF Local Programming Contest 2016正式赛。

A Majestic 10 就是判断比十大的数字的个数.签到提 #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; while(n--) { int cnt = 0,a[3]; cin>>a[0]>>a[1]>>a[2]; int i; for(i = 0;i < 3;i++) { if(a[i]>=10) cnt++; } cout<

2020-3-14 acm训练联盟周赛Preliminaries for Benelux Algorithm Programming Contest 2019 解题报告+补题报告

2020-3-15比赛解题报告+2020-3-8—2020-3-15的补题报告 2020-3-15比赛题解 训练联盟周赛Preliminaries for Benelux Algorithm Programming Contest 2019  A建筑(模拟) 耗时:3ms 244KB 建筑 你哥哥在最近的建筑问题突破大会上获得了一个奖项 并获得了千载难逢的重新设计城市中心的机会 他最喜欢的城市奈梅根.由于城市布局中最引人注目的部分是天际线, 你的兄弟已经开始为他想要北方和东方的天际线画一些想法

ACM训练联盟周赛 C题 Alice和Bob的Nim游戏

题目描述 众所周知,Alice和Bob非常喜欢博弈,而且Alice永远是先手,Bob永远是后手. Alice和Bob面前有3堆石子,Alice和Bob每次轮流拿某堆石子中的若干个石子(不可以是0个),拿到所有石子中最后一个石子的人获胜.这是一个只有3堆石子的Nim游戏. Bob错误的认为,三堆石子的Nim游戏只需要少的两堆的石子数量加起来等于多的那一堆,后手就一定会胜利.所以,Bob把三堆石子的数量分别设为 {k,4k,5k}(k>0). 现在Alice想要知道,在k 小于 2^n 的时候,有多

2020.3.28-ICPC训练联盟周赛,选用试题:UCF Local Programming Contest 2016

A.Majestic 10 签到题. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<bitset> #include<cassert> #include<cctype> #include<cmath> #include<cstdlib> #include<ctime>

CTU Open Contest 2019 AB题

小菜鸡飘过 A: Beer Barrels 题意:给出四个整数:A,B,K,C,:A,B,C都是大于0的个位数,问在所有仅有A或者B组成的K位数中,数字C的个数是多少 思路: 1.先考虑特殊情况: (1) 如果C不是A或者B 则输出0 (2) 如果K = 0 则输出0 (3) 如果A==B 则输出K 2.再考虑一般情况: 共K位,每位都可能有C,求出共有多少种可能,排列组合问题. 多个 C(i,k)*I 相加 阶乘可以用数组模拟:用快速幂求逆元 AC代码: #include<bits/stdc+

[AtCoder] NIKKEI Programming Contest 2019 (暂缺F)

[AtCoder] NIKKEI Programming Contest 2019 ??本来看见这一场的排名的画风比较正常就来补一下题,但是完全没有发现后两题的AC人数远少于我补的上一份AtCoder. A - Subscribers ??首先始终 \(max = \min(A, B)\) ,\(min\) 的话如果 \(A + B \leq N\) ,那么就是 \(0\) ,否则就是 \(A + B - N\) . int n, a, b; int main() { read(n), read

【AtCoder】Tenka1 Programmer Contest 2019

Tenka1 Programmer Contest 2019 C - Stones 题面大意:有一个01序列,改变一个位置上的值花费1,问变成没有0在1右边的序列花费最少多少 直接枚举前i个都变成0即可 #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,int> #define mp make_pair #define pb push_back #define space

Helvetic Coding Contest 2019 差A3 C3 D2 X1 X2

Helvetic Coding Contest 2019 A2 题意:给一个长度为 n 的01序列 y.认为 k 合法当且仅当存在一个长度为 n 的01序列 x,使得 x 异或 x 循环右移 k 位的 01 串得到 y .问合法的 k 的个数. \(n \le 2*10^5\) key:找规律 考虑如何check一个 k 是否合法.那么对于所有的 i 和 i-k 在模 n 的意义下,如果 y 的第 i 位为 0 则二者必须不同,否则必须相同.这样可以用并查集判断是否合法.实际上是把相同的缩起来后

ICPC训练平台&amp;比赛

file in https://pan.baidu.com/s/1B0a4CZ6HFev0iwDdtDwBcA 训练平台 CodeForces https://codeforces.com 大量优质题目,无论是题目还是数据都挺好的.较少情况下题目出现问题. 可以看所有人的代码.可学习不同的做法和代码编写方式,有利于提高个人编程水平. 有些比赛过程中或赛后,可以造数据hack别人代码,有助于提高看别人代码并查错的能力(现场赛团队模式). 可以看到规模小的数据. 题目英文.国内外很多高手参加. gy