第一题:

题目大意:多重背包。

解题过程:

1.二进制拆分。最慢的点0.5s。

2.单调队列优化会更快,不过我不会。。


第二题:

题目描述:给定一个n×m的矩阵,记录左上角为(1,1),右下角为(n,m),现在从(1,1)开始取数,每次只能向下或向右移动一个单位,最终到达(n,m),我们把路径上所有的数相乘,结果记为C。使C的结果最大已经不能满足我们了,现在我们想让C末尾的零个数最少。

解题过程:

1.NOI导刊上的老题了。。结论都记着了。。只要做2次dp。F[i][j] , g[i][j] 分别表示走到(i,j)2最少, 和 5最少。

答案就是min(F[n][m],g[n][m])

2.记住了结论感觉有些不厚道,下面给出证明:

A:首先证明答案不会小于min(F[n][m],g[n][m]):假设答案不是 min(F[n][m],g[n][m]) ,设最优路径上有x个2,y个5,那么答案就是min(x,y)。而min(x,y)>= min(F[n][m],g[n][m])。

B:然后来证明 存在末尾0的个数为min(F[n][m],g[n][m])的路径。。设F[n][m]对应的路径上有x1个2,y1个5。

g[n][m]对应的路径上有x2个2,y2个5。

那么F[n][m]对应的路径上末尾0的个数为min(x1,y1). g[n][m]对应的路径上末尾0的个数为 min(x2,y2);

min{ min(x1,y1) ,  min (x2,y2) } = min{x1,y1,x2,y2}.

因为 x1<=x2,y1>=y2  所以 min{x1,y1,x2,y2} = min{x1,y2}=min{F[n][m],g[n][m]};  证明完毕。


第三题:

题目大意:对于排列(P1,P2,P3,…Pn),定义(i,j)为逆序对当且仅当i<j且Pi>Pj。统计{1,2,3,…,n}的所有排列中,逆序对数量为m的排列个数。 0<n,m≤1000。

解题过程:

1.看到数据范围,八成就是O(N^2)的dp了。就尽量往dp的方向去想。假设现在有一个最大数为A的排列,逆序对数数有p个。 那么就可以 把它加一个 数字 A+1,得到最大数为A+1的排列,根据A+1的位置的不同,可以得到逆序对数不同的A+1的排列。

2.把上面的思路倒过来,很容易得到状态转移方程:设F[i][j]表示1~i的排列中逆序对数有j个的 有多少个。

F[i][j]=sum(F[i-1][i-j+1 .... j]);  注意i-j+1<0的时候, F[i][j]=sum(F[i-1][0.... j]); 复杂度O(N^3);

3.再用一个前缀和数组维护,就把复杂度降到了O(N^2): sum[i][j]  =  sum(F[i][0...j]);

那么方程就变为 F[i][j]=sum[j]-sum[i-j]; 同样 i-j<0的时候, F[i][j]=sum[j].

二模 (7) day2的更多相关文章

  1. 二模 (8) day2

    第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...

  2. 二模13day1解题报告

    二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...

  3. 二模 (9) day2

    第一题: 题目大意:求满足条件P的N位二进制数的个数.P:该二进制数有至少3个0或者3个1挨在一起.. N<=20000 解题过程: 1.一开始直接写了个dfs把表打了出来,不过没发现什么规律, ...

  4. 二模 (16) day1&day2

    第一题:题目大意: 数列a[0]=a[1]=1, a[n]=a[n-2]*a[n-1]*n,求a[n]的因子个数 mod 1000000007.  n<=1000000 解题过程: 1.递推式还 ...

  5. 二模 (15)day2

    第一题:Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/2p 的概率完成并得到2p−1分,如果完成不了,得0分.一开始每人都是0分,从Alice开始轮流做 ...

  6. 二模 (13)day2

    第一题: 题目大意: 给出一个N*M的矩阵,定义一条路径的权值为经过的所有点权值的最大值.求一条从第一行到第N行的路径,使得路径权值最小. N,M<=1000 矩阵内点的权值小于1000. 解题 ...

  7. 又是一个二模02,不过day2

    话说比较简单.除了第三题不会写平衡树啊你妹!!边做边写吧. 机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链 ...

  8. 二模Day2题解

    小明搬家 题目描述 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了.最后大家发现这样混乱地搬运过程效率太 ...

  9. 二模 (12)day2

    第一题: 题目大意: 有N颗糖,两个人轮流取,每次只能取质数颗,不能取的输.求先取者若必胜,最少需要多少步胜利.(N<=10000) 解题过程: 1.看到N的范围比较小,先打个素数表,然后dp即 ...

  10. 二模 (11) day2

    第一题: 题目大意: 有一本n个单词的字典,其中每个单词的长度不超过4且大于0.现在给你一篇文章,文章中没有分隔符,只有小写字母.现在需要你修改最少的字母,使文章(长度为m 是由字典中的单词构成. n ...

随机推荐

  1. (七)shell编程学习

    1.shell程序练习:创建一个dir文件夹,在dir文件夹里再创建一个cd.c文件 首先vim hello.sh 2.shell中的变量定义和引用 (1)变量定义和初始化.shell是弱类型语言(语 ...

  2. 让Fiddler能够检测到localhost的http数据

    用 vs.net开发调试网站程序时经常有这样的地址: http://localhost:2033/ 然而在开启 Fiddler 后会发现Fiddler 完全抓不到任何封包. 主要的原因是因为 Fidd ...

  3. HTML介绍、文档基本结构、meta标签、HTML标记的语法

    一.HTML的介绍 Hyper Text Mark-up Language 超文本标记语言,是一种描述性标记语言(不是编程语言),主要用于描述网页(可以有图像,文字,声音,等..)但没有交互性 HTM ...

  4. 任务调度JOB

    1.1       描述 定时执行数据库中的PL/SQL块,如存储过程.可以减化前端编程. 1.2       简单示例 本示例运行环境:oracle10g + pl/sql +xp. 使用存储过程每 ...

  5. Linq To Sql 语法 子查询 & In & Join

    子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 =from cin ctx.Customers                    where                  ...

  6. opencl 学习资源

    1.AMD  opencl-optimization-guide http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated ...

  7. 自己学习smarty的一些代码 和记录

    http://www.yiibai.com/smarty/smarty_install.html  手册可以看这里 index.tpl <!DOCTYPE html> <html&g ...

  8. Hbase之Exception

    [hadoop@master hbase-1.2.2]$ ./bin/hbase shell2016-08-25 13:53:56,898 WARN [main] util.NativeCodeLoa ...

  9. java 集合(Collection 和 Array)

    Collection(是一个单列集合的根接口) Collections(操作集合对象的一个工具类)只要了解部分常用的方法就好

  10. dede顶级栏目直接显示内容

    点击网站栏目管理,增加顶级栏目 在弹出的增加窗口中,填上栏目名称,其它的如果没有特殊的要求可直接默认 点击常规选项旁边的高级选项,并且在列表模板中,将其改一个文件名,这个文件名就是后面需要使用到的文件 ...