2017.7.17-2017.7.23暑期集训阶段性总结

首先,这几天我一共做了5套noip模拟赛,并AC了25道题(貌似很少)。这一段时间我发现了自己还在很多方面有所不足:

一:心态。在这个做模拟赛的平台上,有时真的会觉得很坑。。。比如说某一个同学在2h内甚至更短的时间做了3道题或四道题,然后提交上去貌似交上去,当前这道题你的“得分”就是100分。像我这个非常垃圾的选手,刚刚把T1打了一半或者刚刚打完,看到有很多人已经做完了,并且我也不知道他们是否写的是标算,然后我就很慌,可能集中不了注意力之类的,然后导致我最后考一个特别低的分数。不过最后两天还好,最后两天我倒是不看这个未结束的排行榜了。。。

二:能力。这个我觉得我是十分欠缺的。最近的训练,我发现貌似小学生,初一学生都会什么km匹配,线段树,平衡树等等,然而这三个我只会线段树,km匹配也会,但是好久没打了不知还能不能打出来。这也充分的体现了我的能力缺陷,现在我所掌握的知识点应该还没有覆盖noip提高组需掌握的所有知识点,从这几天的模拟赛也可看出,不会知识点的话,就A不了对应的题。所以我的计划是到最晚九月初,要过一遍noip提高组的所有知识点,然后还要多做题来进一步的掌握。

三:经验上的不足。(以下是近期我总结出的一些经验与技巧)

1.做题前最好把所有题都看一遍,这样才能知道哪些难,哪些简单。如果上来直接做,那死磕磕不出来就尴尬了。

2.做提前一定要看好数据范围,数组开大了或者开小就不好玩了。

3.提交的时候不要加文件输入输出(估计只有我这种渣渣才会犯这种问题,结果导致第一天暴零了。。。)

4.还是要看好数据范围,比如某道要用二分图匹配做的题求出最多的指数配对,而它的数据规模是大于等于2的整数,这样就不用考虑1,虽然我没有想到,但是还是有同学因为没看清数据规模,以为有1,就打消了用二分图匹配的念头(虽然说有1应该也能做)

5.有的时候千万不要忽略暴搜,并且比赛结束前是不能颓的。像我有时候比赛就像标算,想了个1h没想出来发现时间过了那么多,然后就觉得我没戏了,就不好好打了(也不叫不好好打,就是莫名的不想拼全力了)。其实只要考试没结束,一定要拼尽全力,哪怕就剩个15min,,没打出标算也要搞个暴搜,能拿点分是一点,没准这几分很重要对不对

所以接下来的3个多月还需多多努力。

附:2017.7.8 - 2017.7.23部分题题解(注:2017.7.23 21.38开始狂补,以后要养成随A随写的好习惯)

1.1比那名居天子

这道题跟D9的渔民的烦恼几乎一样,check起来还比渔民的烦恼简单了不少,直接二分答案然后O(n)扫一遍就好:见到1就修复一串,然后判断此种情况下是不是够用。

2.1小明的零食策略

这简直就是裸的01背包,只不过这个再加一维就可以了(因为它有体积和质量两个)。

2.2灰色头像

这个就是将输入的名字按字典序从小到大排序,然后大于等于2后输出就行。

5.1取数游戏

这道题很菜,一看到题便可知这是一道dp,直接用四位大dp就过了。dp[i, j, k, l]表示1用i张,2用j张,3用k张,4用l张能获得的最大分数。dp[i, j, k, l] = max(dp[i, j, k, l], dp[i - 1, j, k, l ] + a[i + j * 2 + k * 3 + l * 4], dp[i, j - 1, k, l ] + a[i + j * 2 + k * 3 + l * 4], dp[i, j, k - 1, l ] + a[i + j * 2 + k * 3 + l * 4], dp[i, j, k, l - 1] + a[i + j * 2 + k * 3 + l * 4] )

5.2下棋

这道题也很菜,主要是要掌握一个公式,就是一个凸N边形(N>=4)的边两两相连所形成的焦点有N * (N - 1) * (N - 2) * (N - 3) / 24个(从中选四个点组成一个四边形,该四边形中有1个焦点,数总共的四边形的个数即可,C(n,4))所以算出来的交点个数>=k即可。

7.1帕秋莉 诺雷姬

这道题是先将输入时所给的字符串的每一位换成10进制%m所得的余数存入一个数组h,用sum记所有位的余数之和%m的余数。之后从小到大两两枚举要交换的位置i,j,然后判断交换两位之后是否能使sum=0。若能,那么输出这一组,否则继续。

7.3可爱的小精灵

这道题和bzoj3907的网格题几乎是一模一样。通过推导我们能够发现一个神奇的公式:方案数=C(n + m, n) - C(n + m, n + 1),然后我们可以化简这个公式,最终得到一个特别简单的公式。

9.1猫猫的小鱼

这道题直接把那些数看成三进制数(或说是二进制)搞定

9.2渔民的烦恼

看这种问法,以及数据的范围,基本可以确定这题用二分答案来做,然后再用check函数O(n)扫一遍检验。

10.2.3Diamond

这题就比较恶心,可以说是没有什么技术含量,完全模拟。我们对于某一个点[i,j],定义up[i,j]数组存从[i,j]开始向上x各单位中存的数值与[i,j]中的数值一样。同理,再定义down[i,j], left[i, j], right[i ,j]。因为我们每次交换要不是x1 = x2就是y1= y2,这两种情况的取最大值有一些不同(主要坐标是反的),所以我们分一下类,最后取最大就好了。

拿x1 = x2举例:两点交换后,左边的点所组成的矩形一定在左半边。这时候我们从y = y1开始找,一直到y = 1。每往左一次,找出up[x1][yi]和down[x1][yi]的最小值up_min, down_min,然后扫到该点的矩形的面积是s=(up_min + down_min + 1) * (y1 - yi + 1),以此类推,最终就能找到s的最大值,s_max即为所求。

9.2狙击

裸的线段树,没什么可说(可我至今还没有调出来。。。)

11.1方程式

这道题是纯模拟,类似高精度的方法试根即可。

13.1count

这道题还是模拟。。。直接排个序然后挨个加就好。

13.2seat

这个应该是个贪心,!!千万不要忘了最好的排序!!(考试我就因为没排序然后0。。。)就是每输入一对,如果x1 = x2, 那么在y1, y2中间就加一条走廊,同理, y1= y1, 在x1,x2中间加一条走廊。然后排序,看在哪里加的最多。

13.3friend

这个直接筛法求素数就完了。。。

15.1fifteena

这个就是简单计算。分三种情况:1.最后全是水,那么原本的水到零度所放出的热量>原本的冰到零度所吸收的热量。2.最后全是冰,那么原本的水到零度所放出的热量<原本的冰到零度所吸收的热量。3.最后是冰水混合物,零度,那么这个需要仔细判断。

15.2fifteenb

这个就是纯模拟,会1-90的英文就差不多了。

15.3fifteenc

这个直接暴搜然后判断一下最后的值是否为零,是的话输出就好。

15.4fifteend

这个貌似与合并果子同种性质,直接用priority_queue(得把优先级先设一下,数越小,优先级越大)就搞定了。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值