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题时看到题目情况非常 ...
随机推荐
- 【luoguP1991】 无线通讯网--最小生成树
题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫星电话线路的哨所(两边都 ...
- PCIe/NVMe Soft Protocol Analyzer - 惊天发现
最近在看一些协议方面的东西,刚刚接触很多东西不懂.为了尽快熟悉,打算搭建一套系统,包括上层主机和下层SSD. 既然是协议,那就需要硬啃spec.但是俺是懒人一个,想找个便捷方式快速熟悉.这就想到了协议 ...
- YOLOv3的Darknet在OpenCV3.4.1(bug)下编译出错填坑
刚配置完环境 https://www.cnblogs.com/clemente/p/11029117.html 能正常跑原版 darknet ,但是跑了一下别人修改的版本出现了错误 查Google之后 ...
- RabbitMQ 简使用案例
第一步导入依赖 : <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-clie ...
- Leetcode题目160.相交链表(简单)
题目描述 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = ...
- vue中解决three.js出现内存泄漏丢失上下文问题
在跳转页面时添加以上代码即可. 在spa项目中,跳转页面并不会清楚已经创建的webgl实例,需要手动清楚.
- Resharper错误提示方法的命名
Resharper-->Options-->C#-->Naming Style
- 怎么让C#项目自动复制NuGet中的dll引用到输出目录?
1.从vs中关闭项目 2.用记事本打开csproj文件 3. 在<PropertyGroup> 和 </PropertyGroup>之间添加一行: <CopyLocal ...
- 升级到Android Studio3.x遇到的问题及解决方案
升级到Android Studio3.x遇到的问题及解决方案 转 https://www.2cto.com/kf/201711/695736.html 升级到Android Studio3.0遇到的问 ...
- LeetCode 1154. 一年中的第几天
给你一个按 YYYY-MM-DD 格式表示日期的字符串 date,请你计算并返回该日期是当年的第几天. 通常情况下,我们认为 1 月 1 日是每年的第 1 天,1 月 2 日是每年的第 2 天,依此类 ...