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

其实博主是参加过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. 《JAVA高并发编程详解》-并发编程有三个至关重要的特性:原子性,有序性,可见性

  2. 有关ajax跨域问题

    写在前面 JQuery ajax支持get方式的跨域,采用了jsonp来完成.完成跨域请求的有两种方式实现.一种是使用Jquery ajax最底层的Api实现跨域的请求,而另一种则是JQuery aj ...

  3. C# vb .net实现缩放特效滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的缩放特效呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一步 ...

  4. 读取txt文件的数据,并将其转换为矩阵

    import numpy as nppath_txt_data = 'C:/Users/51102/Desktop/my_yolo/data/box/train.txt'def input_data( ...

  5. 2019-07-24 require 和 include的区别

    require 和 include 都是文件引入的常用用法.那他们有什么区别吗? 首先我们创建一个需要引入的文件叫做test.php,里面写上简单的一行代码: echo "我是要被引入的文件 ...

  6. .python3基础之“术语表(1)”

    1.注释: 行首有一特殊标志符号运行时告知编程忽略此行:使代码更易于阅读. 例如: #这是一个注释 print("hello world") #print() 方法用于打印输出,p ...

  7. Linux排查PHP-FPM进程过量常用命令

    命令如下: 查看每个PHP-FPM进程的内存占用:ps -ylC php-fpm –sort:rss 查看消耗内存最多的前 40 个进程:ps auxw|head -1;ps auxw|sort -r ...

  8. day 04作业

    目录 简述Python的五大数据类型的作用.定义方式.使用方法: 数字类型 字符串类型(str) 列表(list) 字典(dict) 布尔型(bool) 一行代码实现下述代码实现的功能: 写出两种交换 ...

  9. Redis:Linux安装与使用

    Redis的存储结构:字符类型,散列类型,列表类型,集合类型,有序集合. Redis功能: 可以为每个key设置超时时间. 可以通过列表类型来实现分布式队列的操作. 支持发布订阅的消息模式. 为什么使 ...

  10. Linux IO 概念(1)

    基础概念 文件描述fd 文件描述符(file description),用于表述指向文件引用的抽象话题概念 文件描述符在形式上是一个非负整数,实际上它是一个索引值,指向内核为每一个进程所维护的该进程打 ...