NOIP2018提高组初赛滚粗记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huangjingyuan107/article/details/83040689

先扯

多少分已不重要。一切都在预料之中。
初赛凉凉。
准备什么,那一方面的知识就非常非常简单,简单到不用准备。
不准备什么,那一方面的知识就能卡住人。
这篇博客之前没有发出去?!

具体报告

选择题一个2分?!劣势。
第7题,不会积分啊。。。。
怎么做?
第8题
教练讲了课,信心满满,但是乍一看这些选项好像都是对的。
A选项近几天同学说好像没问题,所以没选。。。。
注意一个点就好了。
C 0 = 1 , C 1 = 1 C_0=1,C_1=1 …。数列从第0项开始。。。误把它当作第一项了。
BC显然对。
多选题
第一题,手机显然不能带进考场。
第二题,模拟一下就好了。
第三题,Dij不能够跑负环边。
第四题,树的性质大家都会。
第五题,图灵奖由ACM设立。
问题求解
第二题,当且仅当a是b的子集或b是a的子集时,等式成立。
然后直接算。
A n s = 2 ( i = 0 5 C ( 5 , i ) 2 i ) 32 Ans=2*(\sum_{i=0}^5C(5,i)*2^i)-32
阅读程序写结果
说一下第4题。
n!个排列按照字典序从小到大排。
这题求读入的排列往后的t个排列。
虽然写了个正确答案上去,但是在检查的时候划掉了,写了个错的。
为什么会出现这样的情况?
失误1,看错一个细节。
将issmall()判断b是否>a。我看成a>b结果慌张了15分钟。
失误2,检查的时候从第160步跳到184步的这个过程,我将步数写成了196.
所以当t=200-12=188,我的答案才是正确的。
凉凉。
完善程序
第一题直接照葫芦画瓢即可。
第二题贪心题不会啊。
做这一类题,一般想出一个解决的办法,但是我贪心就是弱~想不出来
先亮一亮答案:
a [ i ] 0.95 < = b [ i ] a[i]*0.95<=b[i]
t o t a l _ a > = 50000 total\_a>=50000
③照葫芦画瓢, t o t a l _ a + j + a [ i ] total\_a+j+a[i]
f [ j ] + t o t a l _ b t o t a l _ b _ p r e f i x f[j]+total\_b-total\_b\_prefix
f [ j a [ i ] ] f[j-a[i]]
下面给出具体的解析。
分2种情况讨论。
一开始,考虑不打折的情况。显然, a [ i ] < = b [ i ] a[i]<=b[i] ,那么选 a [ i ] a[i] ,否则选 b [ i ] b[i]
考虑打折,那么所有的 a [ i ] a[i] 将变为 0.95 a [ i ] 0.95*a[i]
所以,按照不打折的情况进行初步的选取,得到 t o t a l _ a total\_a
此时又有2种情况。
情况①,选取了 0.95 a [ i ] > = b [ i ] 0.95a[i]>=b[i] a [ i ] a[i] 后,这一部分如果>=50000,那么说明能打折。所以,这一部分直接打折。并且其他的选取方案一定比这个劣。
情况②,不能直接打折,则进行相应的调整。
类背包,设 f [ i ] f[i] 表示,当第一个商店花费了 t o t a l _ a + i total\_a+i 元,要买完所有物品,第二个商店至少要花费的钱数。
现在要进行的决策是:本来选b[i]的,现在要不要选回a[i]。

最后一句

困于心衡于虑而后作。

猜你喜欢

转载自blog.csdn.net/huangjingyuan107/article/details/83040689