A. Drinks Choosing


统计每种酒有多少人偏爱他们。 k为每种酒的偏爱人数。

输出ans = (n + 1)/2 >  Σk/ 2 ? (n + 1)/2 - Σk/ 2 + (Σk/ 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)补题的更多相关文章

  1. 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 ...

  2. Codeforces Round #585 (Div. 2) [补题]

    前言 2019.9.16 昨天下午就看了看D题,没有写对,因为要补作业,快点下机了,这周争取把题补完. 2019.9.17 这篇文章或者其他文章难免有错别字不被察觉,请读者还是要根据意思来读,不要纠结 ...

  3. Codeforces Round #786 (Div. 3) 补题记录

    小结: A,B,F 切,C 没写 1ll 对照样例才发现,E,G 对照样例过,D 对照样例+看了其他人代码(主要急于看后面的题,能调出来的但偷懒了. CF1674A Number Transforma ...

  4. Codeforces Round #429 (Div. 2) 补题

    A. Generous Kefa 题意:n个气球分给k个人,问每个人能否拿到的气球都不一样 解法:显然当某种气球的个数大于K的话,就GG了. #include <bits/stdc++.h> ...

  5. Codeforces Round #419 (Div. 1) 补题 CF 815 A-E

    A-C传送门 D Karen and Cards 技巧性很强的一道二分优化题 题意很简单 给定n个三元组,和三个维度的上限,问存在多少三元组,使得对于给定的n个三元组中的每一个,必有两个维度严格小于. ...

  6. Codeforces Round #590 (Div. 3)补题

    要想上2000分,先刷几百道2000+的题再说 ---某神 题目 E F 赛时是否尝试 × × tag math bitmask 难度 2000 2400 状态 ∅ √ 解 E 待定 F 传送门 第一 ...

  7. Codeforces Round #615 (Div. 3) 补题记录

    第一次搞CF,结果惨不忍睹...还是太菜了 A:要用到全部的钱,所以总数必须是3的倍数,而且初始状态下任意一人的钱数不能超过总数除以3,否则没法分了 (也就这个签到算是在我能力范围之内了....) # ...

  8. Codeforces Round #617 (Div. 3) 补题记录

    1296A - Array with Odd Sum 题意:可以改变数组中的一个数的值成另外一个数组中的数,问能不能使数组的和是个奇数 思路:签到,如果本来数组的和就是个奇数,那就OK 如果不是,就需 ...

  9. Codeforces Round #378 (Div. 2) D题(data structure)解题报告

    题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...

随机推荐

  1. Neo4j 简介 2019

    Neo4j是一个世界领先的开源图形数据库,由 Java 编写.图形数据库也就意味着它的数据并非保存在表或集合中,而是保存为节点以及节点之间的关系. Neo4j 的数据由下面几部分构成: 节点边属性Ne ...

  2. node中从express到koa再到koa2的发展历程

    koa是Express的下一代基于Node.js的web框架,目前有1.x和2.0两个版本. 历史 1. Express Express是第一代最流行的web框架,它对Node.js的http进行了封 ...

  3. wgs84 转百度经纬度坐标

    /** * wgs84 转百度地图坐标 * @param $lng * @param $lat * @return array */ function toBaiduLocation($lng,$la ...

  4. 深入理解Java的三大特性之多态

    世界上最美丽的东西,看不见也摸不着,要靠心灵去感受. ——海伦·凯勒 面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响类使用的情况下改变类的内部结构,并保护数据.对 ...

  5. swoole入门简介

    原文:https://www.cnblogs.com/dormscript/p/4811921.html 本文主要记录一下学习swoole的过程.填过的坑以及swoole究竟有多么强大! 首先说一下对 ...

  6. mongodb的更新操作符

    mongodb更新有两个命令:1).update()命令 db.collection.update( criteria, objNew, upsert, multi ) criteria : upda ...

  7. P4104 [HEOI2014]平衡

    友情提醒:取模太多真的会TLE!!! P4104 [HEOI2014]平衡 题解 本题属于 DP-整数划分 类问题中的 把整数 n 划分成 k 个不相同不大于 m 的正整数问题 设置DP状态  f[ ...

  8. <JavaScript>数组的sort()方法中比较函数是怎么工作的

    sort()函数比较时调用的是每个数组项的toString()方法,并非按数值大小进行比较,所以往往得不到我们想要的结果. 比如: ,,,,]; values.sort( ); alert(value ...

  9. RabbitMQ 使用参考

    http://www.zouyesheng.com/rabbitmq.html 安装 基本概念 基本形式 持久化 调度策略 5.1. fanout 5.2. direct 5.3. topic 5.4 ...

  10. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-5.开源工具的优缺点选择和抽象方法的建议

    笔记 5.开源工具的优缺点选择和抽象方法的建议     简介:讲解开源工具的好处和弊端,如pageHeper分页拦截器,tk自动生成工具,抽象方法的利弊等 1.开源工具             好处: ...