二模 (10) day2
第一题:
题目大意:求出区间 [L,R]里约数最多的数。 L,R<=10^9
解题过程:
1.一开始我就往恶心的数据去想了,比如 L=R=一个超级大的质数。。 那么 用搜索质因子的方法 是不可能搜到它的,于是就放弃了搜索质因子的方法,用了个类筛法。直接暴力求出100w以内所有数的约数,骗到了30分。
2.AC算法:还是枚举质因子,枚举65536以内的所有质数,然后加很多乱七八糟的剪枝,还在研究中。。。待AC。
第二题:
题目大意:给出一个长度为N的整数数列,要求改变一些数字,使该数列递增。。 (N<=100000)
解题过程:
1.因为要递增,自然就想到了LIS,求一个LIS,那么答案就是 N-LIS的长度。。 但是题目的意思是 不能把一个数变成小数。。也就是 2 3 4 3 5 这样的数据,不能把第2个3改成4.5来使得数列递增。。 不过直接写个LIS可以拿到80分,可惜二分写错了。。结果爆0.
2.AC算法:要求一个特殊的LIS,这里的LIS必须满足相邻两个数的差必须大于等于它们的位置差。 也就是说 Aj 要 连在 Ai 后面的条件 是 :
j-i<=Aj-Ai --> Ai-i<=Aj-j
所以只要把所以Ai减去它的位置i,然后求最长非降子序列即可。
本来以为二分绝对不会写错的,还是不够小心。。
第三题:
题目大意:求出从矩阵左上角(1,1) 到 右下角 (n,m) 的一条路径,使得路径上所有正数和除以负数和的绝对值最小 , 求这个最小值。
解题过程:
这题是真心好题。学到了二分的新用法。。 首先假设 答案 是 ans,路径上正数和为x,负数和的绝对值为y, 那么 满足 :
ans>=x/y --> ans*y-x>=0
那么二分ans,设为t, 答案就是 满足 t*y-x >=0 的 最小的 t 。
要使不等式恒成立,必须左边的最小值大于等于0,所以用经典的过河卒的dp方法求出这个最小值即可。
二模 (10) day2的更多相关文章
- 二模 (8) day2
第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...
- 银行卡号码校验算法(Luhn算法,又叫模10算法)
有时候在网上办理一些业务时有些需要填写银行卡号码,当胡乱填写时会立即报错,但是并没有发现向后端发送请求,那么这个效果是怎么实现的呢. 对于银行卡号有一个校验算法,叫做Luhn算法. 一.银行卡号码的校 ...
- 二模13day1解题报告
二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...
- LUHN 模10 算法 银行卡校验
信用卡Luhn算法(模10)具体的校验过程如下: 1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去 ...
- [技术栈]C#利用Luhn算法(模10算法)对IMEI校验
1.Luhn算法(模10算法) 通过查看ISO/IEC 7812-1:2017文件可以看到对于luhn算法的解释,如下图: 算法主要分为三步: 第一步:从右边第一位(最低位)开始隔位乘2: 第二步:把 ...
- 二模 (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.递推式还 ...
- 二模Day2题解
小明搬家 题目描述 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了.最后大家发现这样混乱地搬运过程效率太 ...
- 二模 (12)day2
第一题: 题目大意: 有N颗糖,两个人轮流取,每次只能取质数颗,不能取的输.求先取者若必胜,最少需要多少步胜利.(N<=10000) 解题过程: 1.看到N的范围比较小,先打个素数表,然后dp即 ...
随机推荐
- 02 key concept
本章提要-------------------------------------术语, 选择性与基数, 软解析与硬解析, 绑定变量, 扩展的游标共享SQL语句生命周期, 特别关注解析部分------ ...
- linux设备驱动编写_tasklet机制(转)
在编写设备驱动时, tasklet 机制是一种比较常见的机制,通常用于减少中断处理的时间,将本应该是在中断服务程序中完成的任务转化成软中断完成. 为了最大程度的避免中断处理时间过长而导致中断丢失,有时 ...
- Java中List、Collections实现梭哈游戏
package ch8; import java.util.*; /** * Created by Jiqing on 2016/11/27. */ public class ShowHand { / ...
- Docker-网络基础配置
从外部访问容器 指定容器端口随机映射主机端口 [root@wls12c /]$ docker run -p -d --name web tomcat /bin/bash -c /root/apache ...
- Android dex分包方案
当一个app的功能越来越复杂,代码量越来越多,也许有一天便会突然遇到下列现象: 1. 生成的apk在2.3以前的机器无法安装,提示INSTALL_FAILED_DEXOPT 2. 方法数量过多,编译时 ...
- order by 容易出现的bug记录
写分页查询时遇到一个问题: 在order by create_time 的时候,假设所有数据的create_time 值相同,那么 使用:select * from ( selelct s.*,row ...
- HA功能中ZKFC对NN状态的控制
ZKFC : zookeeper FailoverController NN : name node Hadoop 2.0 HA架构图: FC是要和NN一一对应的,两个NN就要部署两个FC.它负责监控 ...
- mysql 批处理文件--- 创建 用户 以及 导入数据
在window下,通过批处理文件(.bat),进行开启MYSQL服务,导入数据文件(.sql) 1)新建一个txt文件,写入以下内容 rem 启动mysql56服务 mysql56是我的mysql服 ...
- Hbase之缓存扫描加快读取速度
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; impo ...
- 获取iframe外边数据
http://biancheng.dnbcw.info/javascript/178184.html