NOIP Day1总结
Day1T1玄学考试
在开始之前,我犯了考前综合症,各种不安各种焦躁。
结果当我去到考场的时候,看了T1......
T1:road
这不是裸的原题么这!我当时心里瞬间想到积木大赛。这明显就是积木大赛的改装!只不过积木大赛是向上堆出一座小山,而这个是把路填平。
有啥区别啊这!于是我就把我曾经写的照搬上去:
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int n,ans=0;
scanf("%d",&n);
int l=0;
for(int i=1;i<=n;i++)
{
int t;
scanf("%d",&t);
if(t>l)
ans+=t-l;
l=t;
}
printf("%d\n",ans);
return 0;
}
然后100分就到手了2333。
做完之后我抬头看了一眼我的隔壁,只看见他写的其中一行就知道他要爆零了:sort(d+1,d+1+n);
这行会直接彻底让你的程序只输出最大坑的深度值,然后就没有然后了。。。
洛谷上出现了自测,于是赛后我就跑过去自测了一下。你就有了\(\color {green}{AC}\)。

T2:money
这题我拿到后是彻底的懵了,这个题目难度简直像是梯度上升啊!有点小紧张,于是想到学长的话:
“第二、三题你就拿个\(\huge \color {lightblue} {部分的分}\)就好了。”
我看了看题目,总算看懂了:\(m\)不会大于\(n\)的,而且不能再在这个数组以外的数字去选。说明了我们\(n=2\)的时候\(m\)只有两个选择:\(m=1,m=2\)。
于是跑去看看部分分,很好,有可以拿的:\(n=2\)。但是有点小紧张,因为感觉看不懂题目。在重新平稳了一下自己后,我开始想:题目给的\(n\)都是大于2的,我手造数据似乎总是很玄学的看不出规律,那么.....?
再次引用学长的话:
手造数据不可信的时候,搞一个\(\huge \color {lightblue}{数据生成器}\)就完事了
于是开始造数据生成器:
#include<iostream>
using namespace std;
int main()
{
srand(clock());
int n=2;
while(1)
{
int a=rand()%20+1;
int b=rand()%20+1;
printf("%d\n%d %d\n",n,a,b);
}
return 0;
}
使用while(1)是因为这样我可以无限的制造数据来观察。
于是观察了几组:
第一组:2 7 4,第二组:2 16 14,第三组:2 4 16。
突然发现诶,如果a%b==0成立,那么b就可以取代a成为独立的货币。即\(m=1\)。否则\(m=2\)。然后匆忙写完。
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int n,t;
scanf("%d",&t);
for(int i=1;i<=t;i++)
{
cin>>n;
if(n==2)
{
int a,b;
scanf("%d%d",&a,&b);
if(a%b==0||b%a==0||(a+b)%a==0||(a+b)%b==0)
cout<<"1"<<endl;
else
cout<<"2"<<endl;
}
}
return 0;
}
然后你就有\(\color {red}{15}\)分的好成绩:
T3:track
好吧这题完全超出了我的能力范围......即使是部分分 \(\small \color {black}{还不是你没弄懂Floyd}\)
仔细看了看部分分:\(a_i=1\),说明了这个图会退化成一棵只有根节点的树:

但是我又注意到了一个:\(m=1\),也就是说:当我们\(a_i=1,m=1\)的时候,为了取最小值最大化,那就是可以直接取所有的道路,全部建成道路,这时候直接输出所有的道路总长就完事了:
#include<iostream>
#include<stdio.h>
using namespace std;
int w[30010];
int tw;
int n,m;
int main()
{
bool cheat_a1=true;
scanf("%d%d",&n,&m);
for(int i=1;i<=n-1;i++)
{
int u,v;
scanf("%d%d%d",&u,&v,&w[i]);
if(u==1)
cheat_a1=true;
tw+=w[i];
}
if(cheat_a1&&m==1)
cout<<tw<<endl;
return 0;
}
预期是5pts(\(Q\omega Q\)),暂时不知道评测结果,估计会凉掉。
考试的时候当场尝试\(Floyd\):
void floyd()
{
for(int k=1;k<=n;k++)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
e[i][j]=e[i][k]+e[k][j];
}
}
}
}
然后就爆掉了,当场\(\color {purple}{RE}\)....QAQ
然后看了看之前我到底干了什么,当时在想:要跑最大路,可是我似乎不会如何改造\(\color {blue}{Floyd}\)为最大路,于是我转向另一个思考方向:如果我把所有的权值全部转换成负数呢?这么一来就可以跑最小路了(吧)。
于是我加了一句:edge[u][v]=-w[i];(之前开了\(edge[][]\)数组来玩邻接矩阵)然后就跑炸了
期望是\(\color {red}5\)分,然后洛谷跑出了这个:

wc多了\(\color {red}5\)分!对于我简直是\(\huge \color {green}{AC}\)!
不过洛谷的数据说不准,但是能说明我那个部分分过了。
也就是说我今天的分数是:\(\huge \color {green}{120}\)(本来预计是\(\color {blue}{115}\)的)
完美
\(\small \color {grey}{成功的把Tetris玩到了900分,在Adventure里面找到隐藏房间1,获得物品:绿宝石手链}\)
NOIP Day1总结的更多相关文章
- NOIP day1 玩具谜题
逻辑有一些复杂,但是理解之后就很简单.题目描述中mogician什么的太暴力了...-1s 按照题目描述模拟,就能满分. /* Au: GG * CCF NOIP2016 day1 * toy */ ...
- 2015 NOIP day1 t1 神奇的幻方 模拟
神奇的幻方 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.luogu.org/problem/show?pid=2615 Descri ...
- 【NOIP2016 Day1 T2】天天爱跑步
题目传送门:https://www.luogu.org/problemnew/show/P1600 感觉这两天在处理边界问题上有点神志不清......为了从80的暴力变成100,花了整整一个下午+一个 ...
- 码代码的小女孩(来自noip贴吧)
天冷极了,下着雪,又快黑了.这是NOIP的前夜.在这又冷又黑的晚上,一个衣衫破烂的小女孩在机房敲着代码.她从班里逃出来的时候还拿着一本算导,但是有什么用呢?那是一本很破旧的书--那么大,一向是她妈妈垫 ...
- NOIP2018提高组Day1 解题报告
前言 关于\(NOIP2018\),详见此博客:NOIP2018学军中学游记(11.09~11.11). 这次\(NOIP\ Day1\)的题目听说很简单(毕竟是三道原题),然而我\(T3\)依然悲剧 ...
- 原来scanf读入字符串还能这样..
(本文针对于NOIP Day1 玩具迷题) (这是弱鸡写的)(字符串用char二维,本质一样的) 在NOIP成功AC了这道题,结果OJ上被string卡了时间,没办法只能用scanf了.....百度看 ...
- NOIP2016提高组解题报告
NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合
- NOIp2017 滚粗记
NOIp2017 滚粗记 Day0 早上 早自习的时候,班主任忽然告诉我们, 我们要参加期中考试... 这对于我们真是一个沉重的打击... 但是,管不着了 明天就死去考试了 上午 \(8:10\)到了 ...
- 【比赛游记】FJOI2019瞎打记
\(\mathrm{day}\) \(-4\) 又是睡到中午才起来,这样下去省选会睡迟的. 然后下午在补 WF2019 的题目,很快就能补完的(大雾). \(\mathrm{day}\) \(-3\) ...
随机推荐
- [转]Linux芯片级移植与底层驱动(基于3.7.4内核)
1. SoC Linux底层驱动的组成和现状 为了让Linux在一个全新的ARM SoC上运行,需要提供大量的底层支撑,如定时器节拍.中断控制器.SMP启动.CPU hotplug以及底层的G ...
- 由Dialog里面嵌套ListView之后的高度自适应引起的ListView性能优化
先说ListView给高的正确做法. android:layout_height属性: 必须将ListView的布局高度属性设置为非"wrap_content"(可以是" ...
- 路飞学城知识点4之Django contenttypes 应用
Django contenttypes 应用 contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中. 每当我们创建 ...
- post字符 特殊字符处理【转】
今天和同事调试接口,由于产品设计的问题,传递的参数没有做任何的限制.同事就在传参数的时候加了些特殊字符到后台,但是后台打印的日志是 null... 然后上网搜了下解决办法:转 https://www. ...
- Azure 虚拟机上的 SQL Server 常见问题
本主题提供有关运行 Azure 虚拟机中的 SQL Server 时出现的一些最常见问题的解答. 如果本文未解决你的 Azure 问题,请访问 MSDN 和 CSDN 上的 Azure 论坛. 你可以 ...
- 二、WPF datagrid 行变色
public void Color(){ DataGridRow row1 = (DataGridRow)this.dgSource.ItemContainerGenerator.ContainerF ...
- layui实现checkbox的目录树tree
layui.use([ 'tree' ], function() {$ = layui.jquery;form = layui.form;//获取节点数据getTreeData();}); funct ...
- Compare DML To Both REDO And UNDO Size
SUMMARY you can remember undo rule the same to redo if you want demo rule that you can look up the ...
- Anaconda安装及pygame的安装
python有很多版本,还是Anaconda最好用啦,因为它有强大而方便的包管理与环境管理的功能... Pygame是Python最经典的2D游戏开发第三方库,也支持3D游戏开发,,最近课余开始学这个 ...
- Java中this关键字使用小结
当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this. 因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this ...