事实再次向我证明了RP的重要性。。。

第一题:进制转换

是我最没有把握AC的一道题目却是我唯一一道AC的题目,真是讽刺。看完题目几乎完全没有往正常的解法(取余倒序)去想,直接写了搜索,因为数据范围在2^16,感觉枚举每一位上的数应该就够了,但是在自己的电脑上连样例都用了3、4s,然后想不到任何有效的剪枝,就果断放弃了。最后写完其他三题之后还是回过头看了下这道题,还是没往正常的解法想。。。。结果惊人地AC了。。。RP真的太重要了。

然后经提醒终于想到了正常一点的解法,查了网上的题解之后开始自己写取余,结果犯了一个很逗的错误。。。关于负数的整除取余,C++是无法得到正确的答案的,需要进行处理。比如(-15)÷(-2),在C++里得到的是7...-1,而正确答案应该是8...1,然后。。我就很想当然地给余数加了个绝对值。。真是不能逗比更多。

事实上,当a和b都是负数时,假设a÷b=c...d是实际情况,而计算机得到的应该是a÷b=(c-1)...(d-b),所以应该对所得的商加上1,对所得余数加上b。

第二题:最大乘积

动规。f(i,j)表示在前i个数字中插入j个乘号。

f(i,j)=f(i-k,j-1)+s(i-k+1,i)

s(i,j)表示截取该数字从i到j的子串。

因为循环的边界写错所以WA了几次。

第三题:单词接龙

否决了动规,直接用搜索。对于两个字符串之间预处理他们拼接后字符串长度的增加量。然后深搜。

对于出题人的语文水平真的无力吐槽,歧义太多。首先,题目说“相邻的两部分不能存在包含关系,例如at和atide间不能相连“,这里可以有两种理解:1.相邻的两个字符串不能有包含关系 2.相邻的两个字符串拼接后的长度不能不发生变化,即at和atide这个例子。更坑爹的是一个字符串居然可以与自己相连!按照正常的思维,一个字符串当然是自己的子串了。于是WA了几次。但事实上样例的Hint里出现了tact+tact=tactact的结构,所以只能怪自己题目没看清。。。还有就是,ababa+ababa=ababababa。。。题目应该明确指出重叠部分应尽量小啊!做完此题RP已尽。。。

第四题:方格取数

在杭州讲过的动规,结果还是WA了。。。不能感动更多。。。

理解成两个人同时走,用f(i,j,k)表示两人都走了i步,且两人的横坐标为j和k。

但是弄错了一点:j并非不能等于k,只是j=k时两人相遇的格子上的数只能由一个人取得。

f(i,j,k)=max(f(i-1,j-1,k),f(i-1,j,k-1),f(i-1,j-1,k-1),f(i-1,j,k))+两人各自所在格点的数字

第一次提交时280分感动地滚粗。

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

  1. NOIP 2000 提高组 题解

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

  2. 洛谷-乘积最大-NOIP2000提高组复赛

    题目描述 Description 今年是国际数学联盟确定的“2000――世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你 ...

  3. noip2010提高组题解

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

  4. NOIP 2014 提高组 题解

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

  5. NOIP 2001 提高组 题解

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

  6. 【NOIP2018】提高组题解

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

  7. [NOIP2000] 提高组 洛谷P1019 单词接龙

    题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...

  8. [NOIP2000] 提高组 洛谷P1018 乘积最大

    题目描述 今年是国际数学联盟确定的“2000――世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得 ...

  9. [NOIP2000] 提高组 洛谷P1017 进制转换

    题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*10^2+2*10^1+3*10^ ...

随机推荐

  1. linux sort 命令详解(转 )

    linux sort 命令详解 sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比 ...

  2. 【设计模式六大原则1】单一职责原则(Single Responsibility Principle)

        http://blog.csdn.net/zhengzhb/article/category/926691/1 图片素材来源,java学习手册 ps.内容为自己整理   定义:不要存在多于一个 ...

  3. linux的strace命令用法

    strace命令用法 调用:strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] …[ -ofile ] [ -ppid ] … [ -sstrsize ...

  4. *[hackerrank]Lexicographic paths

    https://www.hackerrank.com/contests/w9/challenges/lexicographic-steps 这题还是折腾很久的.题目意思相当于,比如有两个1两个0,那么 ...

  5. SpringMVC学习总结(六)——SpringMVC文件上传例子(2)

    基本的SpringMVC的搭建在我的上一篇文章里已经写过了,这篇文章主要说明一下使用SpringMVC进行表单上的文件上传以及多个文件同时上传的不同方法 一.配置文件: SpringMVC 用的是 的 ...

  6. SqlDBHelper常用方法

    /*============================================================= *.net连接数据库常用方法 *Author : dongny,Li * ...

  7. 64位下好神奇啊(增加了PatchGuard技术保护自己,SSDT是相对地址,参数通过寄存器与rdi来传递)

    近期可能会有一个64位平台的驱动开发任务,找了些资料,对64位平台下的驱动开发略知一二了,好神奇. 一.在64位系统下,有一项PatchGuard技术,它是微软为了防止自己的代码被Patch,进而影响 ...

  8. ASP.NET MVC 4 (一)路径映射

    原文:ASP.NET MVC 4 (一)路径映射 正如ASP.NET MVC名字所揭示的一样,是以模型-视图-控制设计模式构建在ASP.NET基础之上的WEB应用程序,我们需要创建相应的程序类来协调处 ...

  9. 62. Unique Paths

    题目: A robot is located at the top-left corner of a m x ngrid (marked 'Start' in the diagram below). ...

  10. Android Service实时向Activity传递数据

    演示一个案例,需求如下:在Service组件中创建一个线程,该线程用来生产数值,每隔1秒数值自动加1,然后把更新后的数值在界面上实时显示. 步骤如下:1.新建一个android项目工程,取名为demo ...