cf 870div2 abcd题解
A题,先假设一个res从0开始,判断说谎人的个数用ans表示,如果res==ans则假设成立
#include<iostream>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef pair<int,int> PII;
const ll INF=0x3f3f3f3f;
const int N=1e4+10;
int h[N];
ll res;
void solve()
{
int n;
cin>>n;
int res=0;
int f=0;
for(int i=0;i<n;i++) cin>>h[i]; while(res<n)
{
int ans=0;
for(int i=0;i<n;i++)
{
if(res<h[i])
ans++;
}
if(res==ans)
{
cout<<res<<endl;
return;
}
res++;
//cout<<res<<' ';
}
//if(res==n)
cout<<-1<<endl;
}
B题,ai%x=a(n+1-i)%x等价于(ai-a(n+1-i))%X=0(同余定理)即差是x的倍数,0%任何数等于任何数,因为求最大的x即遍历所有的满足gcd
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef pair<int,int> PII;
const ll INF=0x3f3f3f3f;
const int N=1e5+10;
ll h[N];
void solve()
{
int n;
cin>>n;
ll res=0;
for(int i=1;i<=n;i++) cin>>h[i];
for(int i=1;i<=n;i++)
{
res=__gcd(res,abs(h[i]-h[n+1-i]));
}
cout<<res<<endl;
}
C题分情况讨论,最后在n>m时发现,只要n的最小质因子大于m时无论如何分都可以,其他都不行(注意找最小值因子的写法)
void solve()
{
int n,m;
cin>>n>>m;
if(m==1||n==1)
{
cout<<"yes"<<endl;
}
else if(n<=m)
{
cout<<"no"<<endl;
}
else
{
for(int i=2;i<=m&&i<=n/i;i++)
{
if(n%i==0)
{
cout<<"no"<<endl;
return;
}
} cout<<"yes"<<endl;
}
}
D题,转化为b1+l,b2,b3-r即分别求各项的最大值,三元方程一般从中间下手,前后两项都和i有关,可以先求出前后缀最大值,最后从中间b2入手
(注意后缀从后面入手,因为是递推的)
1 void solve()
2 {
3 int n;
4 cin>>n;
5 ll res=-1e6;
6 for(int i=1;i<=n;i++) cin>>a[i];
7 for(int i=1;i<=n;i++) y[i]=a[i]+i;
8 for(int i=n;i>=1;i--) s[i]=a[i]-i;
9 for(int i=1;i<=n;i++) y[i]=max(y[i-1],y[i]);
10 for(int i=n-1;i>=1;i--) s[i]=max(s[i+1],s[i]);
11 for(int i=2;i<=n-1;i++)
12 res=max(res,a[i]+y[i-1]+s[i+1]);
13 cout<<res<<endl;
14 }
cf 870div2 abcd题解的更多相关文章
- CF Round #808 题解 (Div. 2 ABCD)
后面题太难搞不动 . ABCD 的题解写的好水啊,感觉在写闲话,,, A 若 \(\forall i, a_1\mid a_i\),则可以 . 注意判 \(0\) 的情况 . 提交记录 . B 显而易 ...
- CF 1400G.Mercenaries 题解【SOSDP 组合数学】
CF 1400G.Mercenaries 题意: 有\(n\)个佣兵,问雇佣至少一名雇佣兵且满足下述条件的方案数 如果雇佣第\(i\)个佣兵必须要求最终雇佣的总人数\(x\)满足\(l_i\le x\ ...
- CF#581 (div2)题解
CF#581 题解 A BowWow and the Timetable 如果不是4幂次方直接看位数除以二向上取整,否则再减一 #include<iostream> #include< ...
- CF Round#240题解
第一次参加CF的比赛,MSK19.30,四个小时的时差真心累,第一次CODE到这么夜-- 一开始做了A,C两题,后来做B题的时候我体力和精神集中度就很低了,导致一直WA在4-- 今天起床后再刷B,终于 ...
- Codeforces Round #315 (Div. 2) (ABCD题解)
比赛链接:http://codeforces.com/contest/569 A. Music time limit per test:2 seconds memory limit per test: ...
- CF 1178E Archaeology 题解
题面 这道题竟然是E?还是洛谷中的黑题? wow~!! 于是就做了一下: 然后一下就A了:(这并不代表想的容易,而是写的容易) 这道题就是骗人的!! 什么manacher,什么回文自动机,去靠一边站着 ...
- CF 1394 简要题解
最近都会做一些 \(\rm Div1\) 套题中 \(3000\) 分以下的题目. A 直接枚举贪心即可. B 首先不难发现总共可能的 \(c\) 序列只有 \(k!\) 种,很明显要暴力枚举所有情况 ...
- CF Round #829 题解 (Div. 2)
F 没看所以摆了 . 看拜月教教主 LHQ 在群里代打恰钱 /bx 目录 A. Technical Support (*800) B. Kevin and Permutation (*800) C. ...
- CF 484E - Sign on Fence
E. Sign on Fence time limit per test 4 seconds memory limit per test 256 megabytes input standard in ...
- Aizu 2249 & cf 449B
Aizu 2249 & cf 449B 1.Aizu - 2249 选的边肯定是最短路上的. 如果一个点有多个入度,取价值最小的. #include<bits/stdc++.h> ...
随机推荐
- 错误模块名称:vrfcore.dll
记录一下. 应用程序莫名报这个错,其它电脑上正常. 可能是Application Verifier这个工具影响到了. 进入注册表:win+R->regedit->HKEY_LOCAL_MA ...
- 洛谷P4390 [BalkanOI2007] Mokia 摩基亚 题解
题目传送门. 想必 我的另外一篇题解 已经把这道题的思路说的很清楚了,但是那道题是把所有的修改全部告诉你,然后再一个一个问你矩阵和,但是这道题他是修改中夹着询问,但是没有关系,我们照样可做. 考虑将所 ...
- ABC391F题解
不加火车头(不吸氧)不开快读全部 long long 提交记录. 使用了我所知的三种优化后的提交记录(最慢点还是没有在一秒内跑过啊). 做法非常的妙,我们先将 \(A,B,C\) 这三个数组降序排序, ...
- 补充:基于项目的协同过滤推荐算法(Item-Based Collaborative Filtering Recommendation Algorithms)
前言 继续上篇博客,继续读论文. 想看上篇论文的同学可以点击这里 相关工作 In this section we briefly present some of the research litera ...
- Golang 入门 : 常量
常量 相对于变量而言,常量是在程序使用过程中,不会改变的数据.有些地方你需要将定义好的常量重复使用,代码中你不允许它的值改变.例如 圆周率 在程序执行过程中不会改变. 常量的声明 const Pi f ...
- jquery给一个li标签添加和去掉class属性
$("li").addClass('xxx').siblings().removeClass("xxx");
- Python实现PDF转换文件格式
最近工作中经常遇到收到其他人提供的pdf文档,想要编辑修改下或者复制部分内容比较困难,想通过现有的pdf工具软件转换文档格式,基本都要充钱,为了免费实现pdf转换工具,网上查了下相关技术方案,整理了下 ...
- 探秘Transformer系列之(16)--- 资源占用
探秘Transformer系列之(16)--- 资源占用 目录 探秘Transformer系列之(16)--- 资源占用 文章总表 0x00 概述 0x01 背景知识 1.1 数据类型 1.2 进制& ...
- BUUCTF---RSA1
RSA基础概念 rsa原理: RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥 RSA算法的具体描述如下: (1) ...
- 【C语言】Linux 飞翔的小鸟
[C语言]Linux 飞翔的小鸟 零.环境部署 安装Ncurses库 sudo apt-get install libncurses5-dev 壹.编写代码 代码如下: bird.c #include ...