第一题:  有形如:ax3+bx2+cx+d=0  这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d  均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。

解题过程:

直接枚举,把根的范围扩大到100来处理 (精确到小数点后2位 ),水题,15分钟写完AC。如果精确到小数点后6位什么的,就只能二分求解了。。我是把结果和0相差不到0.02的 就当成根,有风险,不过还是AC了。百度了一下有更好的处理方法:
以x作循环变量,从-10000取到10000(因为精确到小数点后两位),此时x1=(x-0.5)/100, x2=(x+0.5)/100(因为x精确到小数占后2位,所以x2,x1取差为0.1); 对于满足x1,x2满足f(x1)*f(x2)<0时,打印x即可;

第二题:  将整数n分成k份,且每份不能为空,任意两种分法不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5;1,5,1;5,1,1;问有多少种不同的分法。

解题过程:

1.首先想到搜索,但对于极限数据n=200,k=6肯定是超时的。

2. 想到用递归求解,f[remain][ma][cnt]表示将数remain划分成不超过ma的cnt份的方案数;  f[remain][ma][cnt] =f[remain-ma][ma][cnt-1](ma单独一份)+f[remain][ma-1][cnt]  (没有ma); 递归边界: A:remain=cnt时 f=1 B:remain<cnt 或者cnt*ma<remain时 f=0 注意A要写在前面,因为remain=cnt=0时 f=1;  不知道会不会有重叠子问题,就加了个记忆化,反正空间不用白不用。极限数据也能秒杀; 递归边界的处理花了点时间,大概30多分钟写完AC;
百度后 发现有更好的方法: f[i][j]表示把i分成j份的方案数,只要二维; f[i][j]=f[i-1][j-1](1这个数单独一份)+f[i-j][j](划分方案中没有1,那就先每一份都分一个1) 拓扑关系明确,直接用递推就行;

第三题:

给出一个长度不超过200的由小写英文字母组成的字母串(约定:该字串以每行20个字母的方式输入,且保证每行一定为20个)。要求将此字母串分成k份(1<k<=40),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例如字符串this中可包含this和is,选用this之后就不能包含th)。 单词在给出的一个不超过6个单词的字典中。 要求输出最大的个数。    解题过程: 1. 没思路,烦,看到字符串的处理就头大,不想写。。 2. 看到后面那题更麻烦,还是滚回来写这题把。。先预处理了区间[i,j]里有多少个单词(直接暴搜),写了一大堆,然后类似昨天的乘积最大那题,动规方程几乎都一样只是把*改成+; 1个小时左右写完,提交后错了一个点。 错误:输入字符串的时候指针cnt从1开始每次+1,但最后cnt的值并不是字符串的长度,多了1.

第四题:

又到暑假了,住在城市A的Car想和朋友一起去城市B旅游。她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之间有一条笔直的高速铁路,第I个城市中高速铁路了的单位里程价格为Ti,任意两个不同城市的机场之间均有航线,所有航线单位里程的价格均为t。

那么Car应如何安排到城市B的路线才能尽可能的节省花费呢?她发现这并不是一个简单的问题,于是她来向你请教。 任务:

找出一条从城市A到B的旅游路线,出发和到达城市中的机场可以任意选取,要求总的花费最少。  解题思路: 题目很简单,很裸的求最短路,但是写起来相当麻烦。。 1个多小时才写好,提交错了一个点,相差0.1.蛋疼的精度问题。。vijos上提交AC。 初次总得分:350左右
心得与反思: 1.为啥没考搜索。 2.多组数据的题目一定要注意初始化的问题,自己检验时可以把同一组数据复制几次看结果是否相同。 3.字符串的处理还是有些怕,要勤加练习。

NOIP 2001解题报告的更多相关文章

  1. NOIP 2000解题报告

    题目简单,思路很快就有,关键是代码实现能力,大概3个多小时完成.第一题:题目大意:将一个10进制数N转换成-B进制数 (负进制转换):B<=20, N(-32768<=N<=3276 ...

  2. NOIP 2003解题报告

    第一题(神经网络): 题目大意,给出一些点,每个点都有2个值,c和u,给出一些有向边,权值为w.入度为0的点的c已知,其它点的c未知,每个入度不为0的点node的c等于sum(c[k]*w[k][no ...

  3. NOIP 2006 解题报告

    第一题: 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定 ...

  4. NOIP 2017 解题报告

    ---恢复内容开始--- NOIP 2017 的题真的很难啊,怪不得当年我这个萌新爆零了(当然现在也是萌新)越学越觉得自己什么都不会. 想要成为强者要把这些好题都弄懂弄透 至少现在6道题我都比较陌生 ...

  5. NOIP 2018 普及组 解题报告

    目录 标题统计 题目链接 思路 代码 龙虎斗 题目链接: 思路 代码 摆渡车 题目链接: 思路 对称二叉树 题目链接 思路: 先来解释一下为毛现在才来发解题报告: 其实博主是参加过NOIP 2018普 ...

  6. 20161005 NOIP 模拟赛 T2 解题报告

    beautiful 2.1 题目描述 一个长度为 n 的序列,对于每个位置 i 的数 ai 都有一个优美值,其定义是:找到序列中最 长的一段 [l, r],满足 l ≤ i ≤ r,且 [l, r] ...

  7. 10.30 NFLS-NOIP模拟赛 解题报告

    总结:今天去了NOIP模拟赛,其实是几道USACO的经典的题目,第一题和最后一题都有思路,第二题是我一开始写了个spfa,写了一半中途发现应该是矩阵乘法,然后没做完,然后就没有然后了!第二题的暴力都没 ...

  8. BZOJ 1051 最受欢迎的牛 解题报告

    题目直接摆在这里! 1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4438  Solved: 2353[S ...

  9. NOIP2016提高组解题报告

    NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合

随机推荐

  1. 转!!Java学习之自动装箱和自动拆箱源码分析

    自动装箱(boxing)和自动拆箱(unboxing)   首先了解下Java的四类八种基本数据类型   基本类型 占用空间(Byte) 表示范围 包装器类型 boolean 1/8 true|fal ...

  2. php学习注意点

    1 多阅读手册和源代码 没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数.就在这些函数里面包括许多有用的功能,如果你仔细阅读手册,你会经常发 ...

  3. Linux远程管理

    若想要远程管理服务器,对于Windows系统,应该比较容易理解,通过window系统自带的远程桌面客户端即可登录远程服务器,从而实现在本地对远程服务器的管理.然而对于linux服务器来说这种方法就不行 ...

  4. linux笔记:软件包管理-软件包简介

    软件包分类: 1.源码包: 2.二进制包(在centos里就是RPM包.和源码包的区别在于已经经过编译.) 源码包的优点和缺点: RPM包的优点和缺点:

  5. js将html5日期格式转为long型

    var moveInArray = $("#move_in").val().split('-'); var d = new Date(); d.setYear(moveInArra ...

  6. 30-Razor语法基础

    以往开发ASP.NET Web Form时,在ASPX页面上都会出现许多夹杂C#/VB.NET与HTML的情况,而先前使用<%...%>这种传统圆角括号的表示法会让HTML标签与ASP.N ...

  7. jQuery 请指出'$'和'$.fn'的区别?或者说出'$.fn'的用途。

    http://hi.baidu.com/chy0806css/item/acc52425099c30ff50fd87eb Jquery为开发插件提供了两个方法,分别是: $.extend(obj);$ ...

  8. Struts2 实现文件上传和下载

    实现上传功能 Struts2实际上是使用的commons fileupload 组件,所以记得导包哦. 1.首先你应该有一个上传页面 <!-- file的name属性与action中的File类 ...

  9. 函数调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。

    在dllimport中加入CallingConvention参数就行了,[DllImport(PCAP_DLL, CharSet = CharSet.Auto, CallingConvention = ...

  10. java入门第二步之helloworld【转】

    前一篇博客已经介绍了jdk的安装:接下来我们就乘热打铁,完成第一个程序:helloworld(每学一样程序的新东西都是从实现helloworld开始的) 1.不是用开发工具IDE,只是使用记事本来实现 ...