先来解释一下为毛现在才来发解题报告:

其实博主是参加过NOIP 2018普及组的复赛的,不过当时成绩垃圾的一批。只混到一个三等奖......

今天老师又给考了一遍noip2018普及的题,结果第三题还是不太会,卧槽.....这.....不过我竟然用暴力dfs+剪枝过了(只是在网上luogu过了,本地TLE下面会说到的,咕咕咕)

下面是正式的解题报告:

标题统计

题目链接

来玩啊

思路

没什么好说的,不会请右上角

代码

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<map>
#include<string>
#include<cstring>
using namespace std;
inline int read() {
char c = getchar(); int x = 0, f = 1;
while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}
while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
return x * f;
}
char s;
int ans;
int main()
{
while(cin>>s)
{
if(s!='\n'&&s!=' ')
{
ans++;
}
}
cout<<ans;
return 0;
}

龙虎斗

题目链接:

点这里

思路

就是直接模拟,枚举你支援的兵放到的兵营,然后找到气势差最小的就行了,注意开long long可恶的CCF竟然卡我们long long

一定要开long long !

一定要开long long !

一定要开long long !

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
using namespace std;
long long int l=0,h=0,m,p1,s1,s2,n,chushi[100000],ans,p2,pam,ltag,htag,tag;
long long int chazhi=0;
int main()
{
scanf("%lld",&n);
for(int i=1;i<=n;++i)
{
cin>>chushi[i];
}
cin>>m>>p1>>s1>>s2;
if(p1!=m)
chushi[p1]=chushi[p1]+s1;
for(int i=1;i<m;++i)
{
l=l+chushi[i]*(m-i);
}
for(int i=m+1;i<=n;++i)
{
h=h+chushi[i]*(i-m);
}
chazhi=abs(l-h);
tag=chazhi;
ltag=l;
htag=h;
pam=-9876;
ans=chazhi;
for(int i=1;i<=n;++i)
{ if(i<m)
{
l=l+s2*(m-i);
chazhi=abs(l-h);
if(chazhi<ans)
{
p2=i;
ans=chazhi;
tag=chazhi;
pam=ans;
l=ltag;
}
else
{
chazhi=tag;
l=ltag;
}
}
if(i>m)
{
h=h+s2*(i-m);
chazhi=abs(l-h);
if(ans>chazhi)
{
p2=i;
ans=chazhi;
tag=chazhi;
h=htag;
pam=ans;
}
else
{
chazhi=tag;
h=htag;
}
}
}
if(pam==-9876)
cout<<m;
else
cout<<p2;
return 0;
}

摆渡车

题目链接:

前方核能

思路

4个题里最难的一个了,不过时限也给了良心的2s(注意这里)

Sjp ak IOI!

对称二叉树

题目链接

来快活啊

思路:

乍一看很难,其实仔细一想并不难

所谓对称二叉树就是把树从根节点划一条线两边对折后完全相同(注意无论结构还是数值都相同

我们可以用递归的方式来遍历左右子树

那么就可以来搞一下不对称的情况了

第一种是结构不对称:

就是只出现了一个-1没有同时递归到-1

第二种是数值上不对称:

只需判断左子树的左孩纸和右子树的右孩子已经左孩纸和右子树的左孩子和左子树的右孩子是不是数值相同就行了

最后统计节点数维护一个max就行了

NOIP 2018 普及组 解题报告的更多相关文章

  1. NOIP2017普及组解题报告

    刚参加完NOIP2017普及,只考了210,于是心生不爽,写下了这篇解题报告...(逃 第一次写博,望dalao们多多指导啊(膜 第一题score,学完helloworld的人也应该都会吧,之前好多人 ...

  2. NOIP2016普及组解题报告

    概述 \(NOIP2016\)普及组的前三题都比较简单,第四题也有很多的暴力分,相信参加了的各位\(OIer\)在\(2016\)年都取得了很好的成绩. 那么,我将会分析\(NOIP2016\)普及组 ...

  3. NOIP2015&2016普及组解题报告

    NOIP2015普及组题目下载 NOIP2016普及组题目下载 NOIP2015普及组题目: NOIP2018RP++ NOIP2016普及组题目 NOIP2018RP++ T1 金币\((coin. ...

  4. NOIp 2018 普及组

    T1标题统计 传送门 题目描述 凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大.小写英文字母.数字字符.空格和换行符.统计标题字 符数时,空格和换行符不计算在内. ...

  5. NOIP2016提高组解题报告

    NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合

  6. 洛谷P1067 多项式输出 NOIP 2009 普及组 第一题

    洛谷P1067 多项式输出 NOIP 2009 普及组 第一题 题目描述 一元n次多项式可用如下的表达式表示: 输入输出格式 输入格式 输入共有 2 行 第一行 1 个整数,n,表示一元多项式的次数. ...

  7. 20161005 NOIP 模拟赛 T2 解题报告

    beautiful 2.1 题目描述 一个长度为 n 的序列,对于每个位置 i 的数 ai 都有一个优美值,其定义是:找到序列中最 长的一段 [l, r],满足 l ≤ i ≤ r,且 [l, r] ...

  8. NOIP 2018 提高组初赛解题报告

    单项选择题: D 进制转换题,送分: D 计算机常识题,Python是解释运行的: B 常识题,1984年小平爷爷曰:“娃娃抓起”: A 数据结构常识题,带进去两个数据就可以选出来: D 历年真题没有 ...

  9. NOIp 2018 普及&提高组试题答案

    你们考的咋样呢?在评论区说出自己的分数吧!

随机推荐

  1. [洛谷P4385][COCI2009]Dvapravca(咕咕咕)

    题目大意:很早以前做的题 题解: 卡点: C++ Code: #pragma GCC optimize("Ofast") #pragma GCC optimize("un ...

  2. 一些spring boot的配置

    RabbitMQ与Redis队列对比 https://www.cnblogs.com/chinaboard/p/3819533.html Spring batch的学习 https://www.cnb ...

  3. IdentityServer4 实现OAuth2.0四种模式之密码模式

    接上一篇:IdentityServer4 实现OAuth2.0四种模式之客户端模式,这一篇讲IdentityServer4 使用密码模式保护API访问. 一,IdentityServer配置 1,添加 ...

  4. Linux中解压、压缩 ZIP文件

    解压 unzip -o -d /home/v-gazh myfile.zip # 把myfile.zip文件解压到 /home/v-gazh/ # -o:不提示的情况下覆盖文件: # -d:-d /h ...

  5. Java自学-数组 增强型for循环

    Java 中如何使用增强for循环 增强型for循环在遍历一个数组的时候会更加快捷 步骤 1 : 增强型for循环 注:增强型for循环只能用来取值,却不能用来修改数组里的值 public class ...

  6. MySQL数据库之互联网常用分库分表方案

    一.数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值.在业务Service来看就是,可用数据库连接少甚至无连接可用.接下来就 ...

  7. caement Archaic spelling of cement

    caement Archaic spelling of cement. caement Alternative forms[edit] caement (archaic) cæment (archai ...

  8. DameWare入侵

    下载Dameware 去官网下载Dameware,并安装 添加被控端ip 选择Mini连接方式 安装服务到被控端 安装前配置,点击"Install"按钮 如图所示,将选项勾选,并点 ...

  9. linux搭建stm32开发环境

    下载stm32固件库 创建目录 libs目录放stm32固件库,src放用户源码,inc放用户头文件 # mkdir libs src inc 复制文件 将STM32F10x_StdPeriph_Li ...

  10. Celery:Next Steps

    参考文档:http://docs.celeryproject.org/en/latest/getting-started/next-steps.html#next-steps