今天继续感动滚粗。第一次提交170分,不能多说。

第一题:一元三次方程

明明是寒假讲分治的时候做过的题居然还是WA而且只拿了60分,说明知识掌握实在不够牢固。

寒假做的是保留4位小数,原题只保留2位,又因为答案在[-100,100],所以直接枚举-10000到10000即可。

然后鉴于寒假的时候写的二分,我就傻X兮兮地在循环里面写了个二分。。。尼玛经验害死人啊。。。更可怕的是题目的hint里也明显地提示了二分。。。然后我就逗比了。

提交4次AC 。

第二题:数的划分

去年学回溯的时候就做过,所以直接回溯了。递推肯定也是可以的嘛。

f(i,j,k)表示把数字i拆成j个数字且第一个数字为k的方案数,则

f(i,j,k)=f(i-k,j-1,k)+f(i-k,j-1,k+1)+...+f(i-k,j-1,i-k div j-1)   (k>=i div j)

边界f(i,1,i)=1。

效率已经可以完虐回溯了。

第三题:统计单词个数

强烈的既视感。。。感觉就好像把2000年的T2T3混在了一起。。。

很明显预处理然后动规(差点说成递归)。果然跟前一年的最大乘积如出一辙,DP代码几乎一样。(所以跟最大乘积一样没有一次AC)

然后我栽在了预处理上。

1. 一个单词在一段里面是可以重复出现的。但是样例很完美地避开了这种情况。。。所以就被我忽略了。。。

2. “选用一个单词后,第一个字母不能再用”意思是,如果有一段文本 thisjsadkfjoiquwrepio (啊这些字符真的不是我把头放在键盘上滚出来的),词典里的单词有this和th,那么就不能算作包含有两个单词。但是如果文本是 thisth,那么this和th都可以算作包含在内。而我一开始理解成了同一段内同一字母开头的单词只能出现一次。。。。

最后一次WA错得很神奇。我的预处理过程是不断地在文本里找词典里的单词,如果某个地方已经被某个单词占用,就在该处做上标记,下次碰到相同开头的单词时就会根据标记来跳过该处。但是我在某处找到词典里的单词之后就将前面的字符都删掉,导致字符在字符串中的位置发生了变化,所以标记也就标错了地方。Orz。

提交4次AC 。第一次提交CE真是太感人了,Dev-C++不检查return,不用包含cstring cstdlib algorithm,真是感(sang)人(xin)肺(bing)腑(kuang)。编译器太智能也不是什么好事。

第四题:Car的旅行计划

很明显是最短路,但是处理起来真麻烦。一开始甚至还因为只给出了矩形的三个顶点而纠结了很久。在图的存储方式上,鉴于上次在建兰做树型DP时的经验,我果断采用了虽然不熟悉但是速度不错的前向星。但是就是因为不熟悉所以又耽搁了很久。。。再接着Dijkstra,又是不太熟悉的算法。。。以至于很多细节的地方统统挂掉了,时间到了也还没调试完,所以就爆零咯。

最后写完,对样例,发现差了0.1,丧心病狂。。。涉及精度的问题都是蛇精病啊。。。学校OJ上的数据很明显有问题啊。。。四个人都A不掉啊。。。四舍五入之后只能过样例其他点都过不了啊。。。vijos上也A不掉啊。。。最后拿了当年的noip数据5个点对了一下,算是AC了吧。(这一年两道涉及浮点数的题目,出题人是不是疯了。。。)

经验教训:

1. 确保头脑清醒的时候才能写代码,否则可以先上厕所洗把脸调整一下状态;

2. 对于多组数据的题目要注意初始化,可以用同一组数据复制几个测试一下(这一点上我和lzw想到的居然一毛一样Orz);

3. 浮点数是个坑。

noip2001提高组题解的更多相关文章

  1. noip2010提高组题解

    NOIP2010提高组题解 T1:机器翻译 题目大意:顺序输入n个数,有一个队列容量为m,遇到未出现元素入队,求入队次数. AC做法:直接开1000的队列模拟过程. T2:乌龟棋 题目大意:有长度为n ...

  2. NOIP 2014 提高组 题解

    NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法 ...

  3. NOIP 2001 提高组 题解

    NOIP 2001 提高组 题解 No 1. 一元三次方程求解 https://vijos.org/p/1116 看见有人认真推导了求解公式,然后猥琐暴力过的同学们在一边偷笑~~~ 数据小 暴力枚举即 ...

  4. NOIP 2000 提高组 题解

    NOIP2000 提高组 题解 No 1. 进制转换 https://www.rqnoj.cn/problem/295 水题 对于n和基数r, 每次用n mod r, 把余数按照逆序排列 注意 mod ...

  5. 【NOIP2018】提高组题解

    [NOIP2018]提高组题解 其实就是把写过的打个包而已 道路铺设 货币系统 赛道修建 旅行 咕咕咕 咕咕咕

  6. 洛谷 P1025 & [NOIP2001提高组] 数的划分(搜索剪枝)

    题目链接 https://www.luogu.org/problemnew/show/P1025 解题思路 一道简单的dfs题,但是需要剪枝,否则会TLE. 我们用dfs(a,u,num)来表示上一个 ...

  7. [NOIP2001提高组]CODEVS1014 Car的旅行路线(最短路)

    最短路,这个不难想,但是要为它加边就有点麻烦..还好写完就过了(虽然WA了一次,因为我调试用的输出没删了..),不然实在是觉得挺难调的.. ------------------------------ ...

  8. noip2002提高组题解

    再次280滚粗.今天早上有点事情,所以做题的时候一直心不在焉,应该是三天以来状态最差的一次,所以这个分数也还算满意了.状态真的太重要了. 第一题:均分纸牌 贪心.(昨天看BYVoid的noip2001 ...

  9. noip2009提高组题解

    NOIP2009题解 T1:潜伏者 题目大意:给出一段密文和破译后的明文,一个字母对应一个密文字母,要求破译一段密文,如果有矛盾或有未出现密文无法破译输出failed,否则输出明文. 思路:纯模拟题 ...

随机推荐

  1. Java---算法---插入排序

    /** * 插入排序(升序) * * @param array */ public static void insertSort(int[] array) { int j = 0; // 下标从1开始 ...

  2. POJ 1680 Fork() Makes Trouble

    原题链接:http://poj.org/problem?id=1680 对这道题,我只能说:我不知道题目是什么意思,但是AC还是没有问题的. 看来题目半天没明白fork()怎么个工作,但是看样例(根据 ...

  3. 2012 Asia JinHua Regional Contest

    Draw Something http://acm.hdu.edu.cn/showproblem.php?pid=4450 o(n)统计输入每个数的平方和. #include<cstdio> ...

  4. MATLAB——axis

    MATLAB——axis axis中文为“轴”之意,在matlab中用于控制坐标轴的范围和样式(颜色等). axis([XMIN XMAX YMIN YMAX]) 设置当前所绘图像的x轴和y轴的范围. ...

  5. 精通ASP.Net MVC 3 框架(第三版)学习笔记

    精通ASP.Net MVC 3 框架(第三版)学习笔记 代码才是王道. http://pan.baidu.com/s/1pJyL1cn

  6. uva 11235

    数据结构 RMQ算法   左右左右   写得有点晕了 ..... /****************************************************************** ...

  7. php浮点数精确运算

    php浮点数精确运算 Php: BCMath bc是Binary Calculator的缩写.bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(strin ...

  8. Struts2 常用的常量配置

    在struts2-core-2.1.8.1.jar的org.apache.struts2包下面的default.properties资源文件里可以查到常用的常量配置,这些不用刻意的记住:忘记的时候可以 ...

  9. iOS 开发中遇到的问题

    1. 关于纠结很久的KVO崩溃问题,其真正原因是,在删除roomItem的KVO之前,将这个对象已经赋值为nil,所以实际上并没有删除他的observer,因此而崩溃:长时间纠结的原因是受.cxx_d ...

  10. netty httpserver

    netty也可以作为一个小巧的http服务器使用. package com.ming.netty.http.httpserver; import java.net.InetSocketAddress; ...