Codeforces Round #574 (Div. 2)补题
A. Drinks Choosing
统计每种酒有多少人偏爱他们。 ki 为每种酒的偏爱人数。
输出ans = (n + 1)/2 > Σki / 2 ? (n + 1)/2 - Σki / 2 + (Σki / 2) * 2 : (n + 1)/2 * 2
#include<iostream>
#include<algorithm>
using namespace std; int n,k;
const int L = +;
int a[L];
int main()
{
cin>>n>>k;
int t;
for(int i = ;i<n;++i)
{
cin>>t;
a[t]++;
}
n = n%? (n + )/: n/;
int cnt = ;
for(int i = ;i<=k;++i)
cnt+= a[i]/;
if(cnt<n)
cout<< n - cnt + *cnt<<endl;
else cout<<n*<<endl; return ;
}
B. Sport Mafia
二分查找二元一次方程的解
设 放入操作数为a,取出操作数为b,有
a*(a + 1)/2 - b = k
a + b = n
联立得a*(a + 3) = 2*(n + k) 二分查找a,再解出b即可
#include<iostream>
using namespace std; long long n,k; int main()
{
cin>>n>>k;
long long lo = ;
long long hi = 5e9;
long long mi = (lo + hi)>>;
while(lo <hi)
{
mi = (lo + hi)>>;
if(mi * (mi + ) < *(n+k))
lo = mi+;
else hi = mi;
} cout<<n - lo<<endl;
return ;
return ;
}
C. Basketball Exercise
dp题
#include<iostream>
#include<cstring>
using namespace std;
const int L = 1e5+;
int n;
long long a[L],b[L];
long long ans;
long long dp[L][];
long long max(long long a,long long b)
{
return a>b?a:b;
}
int main()
{
cin>>n;
for(int i = ;i<=n;++i)cin>>a[i];
for(int i = ;i<=n;++i)cin>>b[i];
dp[n][] = a[n];dp[n][] = b[n];
dp[n-][] = dp[n][] + a[n-];
dp[n-][] = dp[n][] + b[n-];
for(int i = n-;i>=;--i)
{
dp[i][] += a[i];
dp[i][] += b[i];
dp[i][] += max(dp[i+][],dp[i+][]);
dp[i][] += max(dp[i+][],dp[i+][]);
}
cout<<max(dp[][],dp[][]); return ;
}
D1/D2. Submarine in the Rybinsk Sea
统计各串数的各个位对最终解的贡献即可。
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int L = 1e5+;
const long long MOD = ;
struct E{
char s[];
int l;
}str[L];
long long a[];
int n;
int NUM[];
int sum[];
long long ans;
int main()
{
cin>>n;
for(int i = ;i<n;++i)
{
cin>>str[i].s;
str[i].l = strlen(str[i].s);
} int LEN = ;
for(int i = ;i<n;++i)
{
NUM[str[i].l]++;
LEN = max(LEN,str[i].l);
}
LEN *=;
for(int i = ;i<;++i) sum[i] = NUM[i] + sum[i-];
for(int i = ;i<n;++i)
{
reverse(str[i].s,str[i].s+str[i].l);
for(int j = ;j<str[i].l;++j)
{
a[j*] += (str[i].s[j] - '')*(sum[] - sum[j]);
a[j*]%=MOD;
a[j* + ] += (str[i].s[j] - '')*(sum[] - sum[j]);
a[j*+]%=MOD;
}
for(int j = ;j<;++j)
{
if(NUM[j] == ) continue;
int l = str[i].l - j;
if(l<=) break;
for(int k=;k<=l;++k)
{
a[j*+k-] += (str[i].s[j + k - ]-'')** (NUM[j]);
a[j*+k-]%=MOD;
}
}
}
long long L = ;
for(int i = ;i<LEN;++i)
{
ans += (L%=MOD)*(a[i]%MOD);
ans%=MOD;
L*=;
}
cout<<ans<<endl; return ;
}
Codeforces Round #574 (Div. 2)补题的更多相关文章
- Codeforces Round #412 Div. 2 补题 D. Dynamic Problem Scoring
D. Dynamic Problem Scoring time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- Codeforces Round #585 (Div. 2) [补题]
前言 2019.9.16 昨天下午就看了看D题,没有写对,因为要补作业,快点下机了,这周争取把题补完. 2019.9.17 这篇文章或者其他文章难免有错别字不被察觉,请读者还是要根据意思来读,不要纠结 ...
- Codeforces Round #786 (Div. 3) 补题记录
小结: A,B,F 切,C 没写 1ll 对照样例才发现,E,G 对照样例过,D 对照样例+看了其他人代码(主要急于看后面的题,能调出来的但偷懒了. CF1674A Number Transforma ...
- Codeforces Round #429 (Div. 2) 补题
A. Generous Kefa 题意:n个气球分给k个人,问每个人能否拿到的气球都不一样 解法:显然当某种气球的个数大于K的话,就GG了. #include <bits/stdc++.h> ...
- Codeforces Round #419 (Div. 1) 补题 CF 815 A-E
A-C传送门 D Karen and Cards 技巧性很强的一道二分优化题 题意很简单 给定n个三元组,和三个维度的上限,问存在多少三元组,使得对于给定的n个三元组中的每一个,必有两个维度严格小于. ...
- Codeforces Round #590 (Div. 3)补题
要想上2000分,先刷几百道2000+的题再说 ---某神 题目 E F 赛时是否尝试 × × tag math bitmask 难度 2000 2400 状态 ∅ √ 解 E 待定 F 传送门 第一 ...
- Codeforces Round #615 (Div. 3) 补题记录
第一次搞CF,结果惨不忍睹...还是太菜了 A:要用到全部的钱,所以总数必须是3的倍数,而且初始状态下任意一人的钱数不能超过总数除以3,否则没法分了 (也就这个签到算是在我能力范围之内了....) # ...
- Codeforces Round #617 (Div. 3) 补题记录
1296A - Array with Odd Sum 题意:可以改变数组中的一个数的值成另外一个数组中的数,问能不能使数组的和是个奇数 思路:签到,如果本来数组的和就是个奇数,那就OK 如果不是,就需 ...
- Codeforces Round #378 (Div. 2) D题(data structure)解题报告
题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...
随机推荐
- [Linux]kali更新/etc/apt/sources.list
vim /etc/apt/sources.list #中科大 deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contri ...
- Codeforces 1205C Palindromic Paths (交互题、DP)
题目链接 http://codeforces.com/contest/1205/problem/C 题解 菜鸡永远做着变巨的梦 然而依然连div1BC题都不会做 要是那天去打cf怕是又要1题滚粗了.. ...
- codeforces#1166F. Vicky's Delivery (Service并查集+启发式合并)
题目链接: https://codeforces.com/contest/1166/problem/F 题意: 给出节点数为$n$,边数为$m$的图,保证每个点对都是互连的 定义彩虹路:这条路经过$k ...
- Error creating bean with name 'persistenceExceptionTranslationPostProcessor' defined in class path resource [org/springframework/boot/autoconfigure/dao/PersistenceExceptionTranslationAutoConfiguration
dubbo 包和SpringBoot 冲突,注释就可以正常启动
- CORS和jsonp实现跨域请求
同源策略:所谓同源是指,域名,协议,端口相同,它是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript 的浏览器都会使用这个策略.当浏览器同时打开两个tab页面(两个不同服务器 ...
- 1.4 Go语言基础之流程控制
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码. ...
- CentOS7 源码安装 PostgreSQL 12
PostgreSQL 12 源码安装 Table of Contents 1. 下载 2. 准备环境 3. 编译安装 4. 设置环境变量 5. 初始化数据库 6. 配置参数文件 6.1. postgr ...
- [Python]统计1个元素在列表中的出现次数
使用列表自带的count方法: list.count(element) 示例: 列表a,有4个元素,其中值1出现3次 In []: a=[,,,] In []: a Out[]: [, , , ] ...
- IDEA类和方法注释模板设置(非常详细)
一.首先我们来设置IDEA中类的模板:(IDEA中在创建类时会自动给添加注释) 1.File-->settings-->Editor-->File and Code Template ...
- 一次神奇的JVM调优
老张接个新项目,项目可是不小,好多模块.使用Intellij import new project, 结果卡在writing class中,而且mac的风扇一直转,像是要变成直升机起飞. 等啊等,in ...