二模 (4)day2
第一题:
题目大意:给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。 N<=100000
1.考虑到一个符合要求的连续子序列中,比b大的数的个数和比b小的数的个数相等。对于一个符合要求的区间[L,R], 设[L,pos_b-1]中比b大的数有x1个,比b小的有x2个,区间[pos_b+1,R]中比b大的有x3个,比b小的有x4个,那么肯定满足x1-x2==x4-x3。
2.处理出满足x1-x2=x的区间[L,pos_b-1]的个数存在Left[x]中,同理处理出满足x4-x3=x的区间[pos_b+1,R]的个数存在Right[x]中,那么ans=sum{(Left[i]+1)*(Right[i]+1)}.
初始得分100
第二题:
题目描述:
在一个凹槽中放置了n层砖块、最上面的一层有n 块砖,从上到下每层依次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示:
规定最上面的为第1层,最左边的是第一块砖。
如果你想敲掉第i层的第j块砖的话,若i=1,你可以直接敲掉它;若i>1,则你必须先敲掉第i-1层的第j和第j+1块砖。
你现在可以敲掉最多m块砖,求得分最多能有多少。 1≤n≤50,1≤m≤500
解题过程:
1.考虑到某块砖头能否打掉,和它右边那一列的状态有关,所以规定打的顺序是从右往左。状态表示三维,一维是打到第i列,一共打了j个砖头,且第i列打了k个的最优解。转移枚举右边那一列(第i+1列)打了多少砖头。。
2.时间复杂度O(N^3*M),初始得分80,没有处理好边界。
第三题:
题目描述:给出了一张有N个点M条边的加权有向无环图,接下来有Q个询问,每个询问包括2个节点X和Y,要求算出从X到Y的一条路径,使得密度最小(密度的定义为,路径上边的权值和除以边的数量)。
1≤N≤50,1≤M≤1000,1≤W≤100000,1≤Q≤100000。
解题过程:
1.看到N的范围比较小,那肯定是和Floyd有关系的算法。。因此改造一下Floyd,F[i][j][k]表示i到j经过k条路的最短路。
F[i][j][k]=min{F[i][p][k-1]+F[p][j][1]};
2.初始得分30. 被 询问(x,x)坑掉了,应该输出"OMG!",我输出的是0.
二模 (4)day2的更多相关文章
- 二模 (8) day2
第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...
- 二模13day1解题报告
二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...
- 二模 (9) day2
第一题: 题目大意:求满足条件P的N位二进制数的个数.P:该二进制数有至少3个0或者3个1挨在一起.. N<=20000 解题过程: 1.一开始直接写了个dfs把表打了出来,不过没发现什么规律, ...
- 二模 (16) day1&day2
第一题:题目大意: 数列a[0]=a[1]=1, a[n]=a[n-2]*a[n-1]*n,求a[n]的因子个数 mod 1000000007. n<=1000000 解题过程: 1.递推式还 ...
- 二模 (15)day2
第一题:Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/2p 的概率完成并得到2p−1分,如果完成不了,得0分.一开始每人都是0分,从Alice开始轮流做 ...
- 二模 (13)day2
第一题: 题目大意: 给出一个N*M的矩阵,定义一条路径的权值为经过的所有点权值的最大值.求一条从第一行到第N行的路径,使得路径权值最小. N,M<=1000 矩阵内点的权值小于1000. 解题 ...
- 又是一个二模02,不过day2
话说比较简单.除了第三题不会写平衡树啊你妹!!边做边写吧. 机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链 ...
- 二模Day2题解
小明搬家 题目描述 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了.最后大家发现这样混乱地搬运过程效率太 ...
- 二模 (12)day2
第一题: 题目大意: 有N颗糖,两个人轮流取,每次只能取质数颗,不能取的输.求先取者若必胜,最少需要多少步胜利.(N<=10000) 解题过程: 1.看到N的范围比较小,先打个素数表,然后dp即 ...
- 二模 (11) day2
第一题: 题目大意: 有一本n个单词的字典,其中每个单词的长度不超过4且大于0.现在给你一篇文章,文章中没有分隔符,只有小写字母.现在需要你修改最少的字母,使文章(长度为m 是由字典中的单词构成. n ...
随机推荐
- ctrl+enter提交留言
<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8&qu ...
- Openfire 是怎么存离线消息
原文:http://myopenfire.com/article/getarticle/26 1.openfire默认怎么存离线消息 在默认情况下,不添加任何插件的情况下,当用户不在线,对于发送给 ...
- (Clob的写入和读取-java)更新数据库报错:SQL Error: 1461, SQLState: 72000 ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
原 因:某一个字段本为varchar2(1024),但是实际要插入的值超过varchar2允许的最大长度4000时,oracle自动将该字段值转化为Long类型,然后提示插入操作失败. 解决办法: 1 ...
- alertdialog.builder 自定义弹窗
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...
- 解决由于一个软件限制策略的阻止,windows无法运行此程序cmd.reg
解决由于一个软件限制策略的阻止,windows无法运行此程序cmd.reg Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\SOFT ...
- 关于Android代码混淆知识点
现在有反编译技术,容易得到源码,所以要混淆代码,加大反编译难度. 只需要在 build.grade 的配置文件中配置就可以了. proguardFiles getDefaultProguardFile ...
- ajax正确的简单封装“姿势”
window.meng = window.meng || {}; (function ($) { function getAjaxDate(url, apikey) { var datas; $.aj ...
- centos7 学习
1.centos pid文件: 在Linux系统的目录/var/run下面一般我们都会看到很多的*.pid文件.而且往往新安装的程序在运行后也会在/var/run目录下面产生自己的pid文件.那么这些 ...
- IO流--复制picture ,mp3
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import ...
- 分享一个快速的Json(反)序列化开源项目 Jil
我们不缺少JSON的序列化库,但我们缺少一个性能非常好的库,这对于网站来说非常重要.今天我发现了Jil. 他是开源的代码: https://github.com/kevin-montrose/Jil ...