这只是一个作业,如果有帮到您的,我只能说。。。这不科学。。。
————————————华丽的分割线————————————
第一题:
神似noip2016t1…
貌似就数据范围和输入方式变了,要搜的数变成变量了吗。。。
不讲了自己看2010去。。。(等下!!!这句话删掉!!!)
不过。。。这道题并没有这么easy。。。
我们要考虑要搜的数为0的情况。。。
突然发现(高级算法)把我搞闷逼了。。。
所以我用的是低级算法。。。
不过也要特判一下,,,
具体看代码。。。
#include
#include
#include
#include
#include
#include
#include
#include
#include
————————————华丽的分割线————————————
第二题:
首先这道题的算式一定是由很多个数与一些数的乘积组成的,于是我们可以遇到数字就存到一个变量里,遇到乘号就记一个值,在遇到下一个符号后把两个数相乘,遇到加号就把变量的值加进答案里。
程序如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
注意如果最后不mod只有30分(太恶心了吧)
————————————华丽的分割线————————————
第三题:
[外链图片转存失败(img-G2r5BIHh-1564989708891)(https://img-blog.csdn.net/20160904110722738)]
小盆友的数字。。。
这道题正解不开longlong50分,开了80,加个小技巧AC
首先我们发现特征值为最大子段和没意见吧qwq。
然后我们继续分析分数。。。
会机智的发现因为特征值是单调递增的所以分以下情况:
1。如果他的前一个小朋友的特征值大于0,那么说明前面特征值是正的,那最大特征值就是左边的小屁孩了,分数=前一个小朋友的分数+前一个小朋友的特征值,更新当前最大值。
2。如果他的前一个小朋友的特征值小于0,那说明什么?说明前面小盆友的特征值都是负的,不难发现他的分数=第二个小朋友的分数。
Q:小技巧是什么
A:看【论小技巧的自我修养】(1)论模的优化
代码
#include
#include
#include
#include
#include
#include
#include
#include
#include
————————————华丽的分割线————————————
第四题:
嗯。。。第4题。。。
引用我的题解qwq
首先我们看输入,每一趟火车给我们的关系是什么?拿样例来说,4 1 3 5 6。就是1,3,5,6一定比2,4来的大。
于是,我们把1,3,5,6各向2,4连边。记在一个邻接矩阵里。
全部输入完以后,就可以乱搞(等等,这个词删掉)写正解了。
此时,没有入边的点都是啥?当然是最大的了。为了让级数最少,我们把它们都当做同一个级别的,删掉,答案++。
然后,再找下一个级别的车站。
就这样找呀找,找完所有的车站,程序结束~~~
重新审视算法,这不就是拓扑吗2333333333333333333333333333333333333
代码酱如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
————————————华丽的分割线————————————
我中了忌开电脑的毒qwq 。。。。。
光速打脸啪啪啪