JZOJ[8.16比赛]题解
来源:互联网 发布:gsk数控机床仿真软件 编辑:程序博客网 时间:2024/06/01 16:55
第一题:作弊
这题我们可以用一个循环来枚举当这个回文字串中间位为i的最长情况,两重循环也不会超时,就这样一直枚举下去,找出最长的那个字串,就输出即可。
第二题:最大杂置
我们只有细心枚举样例数据是怎样得来的,便可发现n[i]就等于杨辉三角第n[i]+1行的中间数,根据这个规律,我们就可以求出答案了。
第三题:投影
这题看着会觉得很难,但仔细看样例其实跟之前做过的围墙翻新比较相似,我们只需保留读入的y,然后用一个双重循环,依次判断当前i和当前j是否相等,如果相等且之前没有找过,就标记。
第四题:除草
这题我们需要用到动态规划,设f[i,j,1]表示已经把从i到j的草除完,且现在正在i点;f[i,j,2]表示已经把从i到j的草除完,且现在正在j点;那么我们可以根据它的每种情况推出状态转移方程:
if i<j then
f[i,j,1]:=min(f[i+1,j,1]+(p[i+1-p[i])*(n-j+i),f[i+1,j,2]+(p[j]-p[i])*(n-j+i));
f[i,j,2]:=min(f[i,j-1,1]+(p[j]-p[i])*(n-j+i),f[i,j-1,2]+(p[j]-p[j-1])*(n-j+i));
注意:p数组要先按从小到大排好,且f[i,i,1]=f[i,i,2]=abs(l-p[i])*n;
1 0
- JZOJ[8.16比赛]题解
- JZOJ[8.14比赛]题解
- JZOJ[8.15比赛]题解
- 洛谷 比赛题解
- NJFU比赛部分题解
- jzoj C组 2017.1.14 比赛
- jzoj C组 2017.1.13比赛
- jzoj C组 2017.1.15比赛
- jzoj C组 2017.1.16 比赛
- jzoj C组 2017.1.17 比赛
- jzoj C组 2017.1.18 比赛
- jzoj C组 2017.1.19 比赛
- jzoj C组 2017.1.20 比赛
- “顶嵌杯”编程比赛简单题解
- [题解][codevs] 1959 拔河比赛
- 360比赛我的第五题解法
- 【nyist】Personal Contest.3(比赛题解)
- 现场编程比赛普及组决赛题解
- c++对象模拟游戏数据
- JavaMail使用SSL的方式登录
- 数据结构实验之二叉树的建立与遍历
- Android View的绘制流程
- 深入理解 Java中的 流 (Stream) --转自石头儿 http://www.cnblogs.com/shitouer/
- JZOJ[8.16比赛]题解
- Android——数据存储(四种方式之二)读写SD卡——练习
- 关于二叉树的算法大全
- 代码整洁之道 读书笔记(二)第12章 迭进
- Codechef LEBOXES
- 数学类-113 - Power of Cryptography
- hduacm1166敌兵布阵(树状数组)
- 设计模式之代理模式
- Android textAppearance的属性设置及TextView属性详解