cf1189解题报告
cf1189div2解题报告
A
答案要不是一串要不就是去掉最后一个字母的两串
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=107;
int a[N<<2],n;
int main() {
scanf("%d",&n);
int js=0;
for(int i=1;i<=n;++i) {
scanf("%1d",&a[i]);
js+=a[i];
}
if(n!=1&&js==n-js) {
printf("2\n");
for(int i=1;i<n;++i) printf("%d",a[i]);
printf(" ");
printf("%d",a[n]);
} else {
printf("1\n");
for(int i=1;i<=n;++i) printf("%d",a[i]);
}
return 0;
}
B
cf好喜欢构造呀。
\(1-3-5-7-9-10-8-6-4-2\)
这样构造应该是最优解。
然后check输出
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=2e5+7;
int n,a[N],b[N];
int main() {
scanf("%d",&n);
for(int i=1;i<=n;++i) {
scanf("%d",&a[i]);
}
sort(a+1,a+1+n);
int js=0;
for(int i=1;i<=n;i+=2) b[++js]=a[i];
for(int i=(n&1)?n-1:n;i>=1;i-=2) b[++js]=a[i];
b[0]=b[n],b[n+1]=a[1];
for(int i=1;i<=n;++i)
if(b[i]>=b[i-1]+b[i+1]) return puts("NO"),0;
puts("YES");
for(int i=1;i<=n;++i)
printf("%d ",b[i]);
return 0;
}
C
虽然有很短的代码,但我还是写了线段树,好傻逼啊
#include <bits/stdc++.h>
#define ls rt<<1
#define rs rt<<1|1
using namespace std;
const int N=2e5+7;
int n,m,ans,tot[N<<2],sum[N<<2];
void build(int l,int r,int rt) {
if(l==r) {
scanf("%d",&tot[rt]);
return;
}
int mid=(l+r)>>1;
build(l,mid,ls);
build(mid+1,r,rs);
tot[rt]=(tot[ls]+tot[rs])%10;
sum[rt]=sum[ls]+sum[rs]+((tot[ls]+tot[rs])>=10);
// printf("sum[%d]=%d tot=%d\n",rt,sum[rt],tot[rt]);
}
int query(int l,int r,int L,int R,int rt) {
if(L<=l&&r<=R) {
ans+=sum[rt];
return tot[rt];
}
int mid=(l+r)>>1;
if(L<=mid&&R>mid) {
int a=query(l,mid,L,R,ls);
int b=query(mid+1,r,L,R,rs);
if(a+b>=10) ans++;
return (a+b)%10;
} else if(L<=mid) return query(l,mid,L,R,ls);
else return query(mid+1,r,L,R,rs);
}
int main() {
scanf("%d",&n);
build(1,n,1);
scanf("%d",&m);
for(int i=1,l,r;i<=m;++i) {
scanf("%d%d",&l,&r);
ans=0;
int tmp=query(1,n,l,r,1);
printf("%d\n",ans);
}
return 0;
}
D1
使得一颗树上边的权值任意,只要不出现度数为2的点就行。
#include <bits/stdc++.h>
using namespace std;
const int N=2e5+7;
int n,ru[N];
int main() {
scanf("%d",&n);
for(int i=1;i<n;++i) {
int l,r;
scanf("%d%d",&l,&r);
ru[l]++,ru[r]++;
}
for(int i=1;i<=n;++i)
if(ru[i]==2) return puts("NO"),0;
puts("YES");
return 0;
}
E
\]
\]
左右乘\((a_i-a_j)\)
\]
\]
map统计答案就行了
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=3e5+7;
int n,k,p,a[N];
unordered_map<int,int> Hash;
int pow4(int a) {return 1LL*a*a%p*a%p*a%p;}
int main() {
scanf("%d%d%d",&n,&p,&k);
for(int i=1;i<=n;++i) scanf("%d",&a[i]);
ll ans=0;
for(int i=1;i<=n;++i) {
int tmp=((pow4(a[i])-1LL*k*a[i]%p)%p+p)%p;
ans+=Hash[tmp];
Hash[tmp]++;
}
cout<<ans<<"\n";
return 0;
}
cf1189解题报告的更多相关文章
- CH Round #56 - 国庆节欢乐赛解题报告
最近CH上的比赛很多,在此会全部写出解题报告,与大家交流一下解题方法与技巧. T1 魔幻森林 描述 Cortana来到了一片魔幻森林,这片森林可以被视作一个N*M的矩阵,矩阵中的每个位置上都长着一棵树 ...
- 二模13day1解题报告
二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...
- BZOJ 1051 最受欢迎的牛 解题报告
题目直接摆在这里! 1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4438 Solved: 2353[S ...
- 习题:codevs 2822 爱在心中 解题报告
这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...
- 习题:codevs 1035 火车停留解题报告
本蒟蒻又来写解题报告了.这次的题目是codevs 1035 火车停留. 题目大意就是给m个火车的到达时间.停留时间和车载货物的价值,车站有n个车道,而火车停留一次车站就会从车载货物价值中获得1%的利润 ...
- 习题: codevs 2492 上帝造题的七分钟2 解题报告
这道题是受到大犇MagHSK的启发我才得以想出来的,蒟蒻觉得自己的代码跟MagHSK大犇的代码完全比不上,所以这里蒟蒻就套用了MagHSK大犇的代码(大家可以关注下我的博客,友情链接就是大犇MagHS ...
- 习题:codevs 1519 过路费 解题报告
今天拿了这道题目练练手,感觉自己代码能力又增强了不少: 我的思路跟别人可能不一样. 首先我们很容易就能看出,我们需要的边就是最小生成树算法kruskal算法求出来的边,其余的边都可以删掉,于是就有了这 ...
- NOIP2016提高组解题报告
NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合
- LeetCode 解题报告索引
最近在准备找工作的算法题,刷刷LeetCode,以下是我的解题报告索引,每一题几乎都有详细的说明,供各位码农参考.根据我自己做的进度持续更新中...... ...
随机推荐
- MyBatis-Plus入门Demo详解
一.简介: 引用官方文档(本文主要参考官方文档示例): MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生 ...
- C# vb .net图像合成-合成椭圆
在.net中,如何简单快捷地实现图像合成呢,比如合成文字,合成艺术字,多张图片叠加合成等等?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码 ...
- kubernetes(k8s)集群安装calico
添加hosts解析 cat /etc/hosts 10.39.7.51 k8s-master-51 10.39.7.57 k8s-master-57 10.39.7.52 k8s-master-52 ...
- Windows下载安装RabbitMQ教程
原文链接:http://www.studyshare.cn/software/details/1171/0一.下载 1.下载Erlang 官网下载:去下载 百度网盘下载:去下载 提取码:m1q0 2 ...
- python基础--py2与py3编码
python2 与 python3的编码和解码 注意:小心,容易弄混 目录: 1.python2d 的encode & decode 2.python3的encode & decode ...
- JavaScript 数组(二)数组练习
1.求一组数中的最大值和最小值,以及所在位置(最大值和最小值在这组数中的位置) var numbers = [120, 13, 101, 88, 10, 25]; var max = numbers[ ...
- 访问Stack Overflow速度超慢的原因
很多网站,尤其是国外网站,为了加快网站的速度,都是用了 Google 的 CDN. 但是在天朝,由于某些原因,导致全球最快的 CDN 变成了全球最慢的. 解决方法步骤如下: 下载ReplaceGoog ...
- docker-ce添加国内源-阿里docker-hub镜像
问题现象: WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled 问题解 ...
- Odoo中的记录集
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826218.html 一:record set 1:获取记录集 1)在@api.multi修饰器修饰的函数 ...
- 详解php概念以及主配置文件
浏览器仅能够解码HTML格式的文档,对于非HTML格式的文档,浏览器调用插件或者通过CGI接口调用其他程序来解码. 动态网站: 我们在服务器端或客户端执行了一段脚本或者一段程序,这段程序执行的结果根据 ...