第一题:

题目大意:多重背包。

解题过程:

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. Mono for Android布局控件属性小结

    1. layout_weight 用于给一个线性布局中的诸多视图的重要度赋值. 所有的视图都有一个layout_weight值,默认为零,意思是需要显示 多大的视图就占据多大的屏幕空 间.若赋一个高于 ...

  2. Java Socket编程----通信是这样炼成的

    Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket.像大家熟悉的QQ.MSN都使用了Socket相关的技术. ...

  3. 转:程序员最值得关注的10个C开源项目

    程序员最值得关注的10个C开源项目 1. Webbench Webbench 是一个在 linux 下使用的非常简单的网站压测工具.它使用 fork ()模拟多个客户端同时访问我们设定的 URL,测试 ...

  4. panels能否包含views_block ////// panels -- content pane 参数传递

    是可以的包含block,不管是手动在block后台创建的,还是通过views创建的block,都可以在Panel add content的时候添加. ------------ panels 和 con ...

  5. C# 中的弱引用 WeakReference

    C#中的弱引用(WeakReference)   我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的.我们能不能同时保持对对象的引用,而又可以让GC需要的时候回收这个对象呢?.NET ...

  6. 有用的dede表单代码

    <form action="" class="demoform">                <table>             ...

  7. ASP.NET Core身份识别

    Introduction to Identity 66 of 93 people found this helpful By Pranav Rastogi, Rick Anderson, Tom Dy ...

  8. flasCC技术点记录

    [待测试特性] 一.C接口导出相关 1.重载函数. 2.虚函数. 3.template相关 二.内存相关 1.as直接往c分配的内存写数据. 2.c直接往as对象写数据. 三.C访问AS 1.访问as ...

  9. 《Java程序设计》学期总结

    <Java程序设计> 学期总结 课程设计小组 -迦瓦栈队 团队博客 读书笔记汇总 第一周 第二周 第三周 第四周 第五周 第六周 第七周 第八周 第九周 第十周 实验报告汇总 实验一 实验 ...

  10. (09)odoo工作流

    --------------修订时间14:54 2016-09-18 星期日21:59 2016-06-12 星期日10:06 2016-02-24 星期三17:14 2016-01-29 星期五-- ...