二模 (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即 ...
随机推荐
- mysql: 1045 access denied for user 'root'@'localhost' using password yes
原因是:root的密码错误了. 解决思路:关闭mysql服务,重新启动mysql服务,启动mysql的时候,指定不需要校验密码.然后登陆mysql,修改密码,退出.再重新启动mysql服务. 1.关闭 ...
- .net连接access操作类
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- uva 11728 Alternate Task
vjudge 上题目链接:uva 11728 其实是个数论水题,直接打表就行: #include<cstdio> #include<algorithm> using names ...
- 最大的LeftMax与rightMax之差绝对值
这两天去 牛客网 混了下,遇到的几道题都很有意思,尤其是今晚这道,比赛时不会做,后来看了别人的代码才突然想通的,题目链接: 最大的LeftMax与rightMax之差绝对值,大意是: 想了一晚都没想出 ...
- 转:strcpy实现的考察要点
strcpy函数的实现 已知strcpy函数的原型是: char *strcpy(char *dst, const char *src); 实现strcpy函数 解释为什么要返回char * 假如考虑 ...
- Ajax中eval的使用详解
定义和用法 Eval它是用来计算某个字符串,并且执行其中的JavaScript代码. 语法 1) eval函数接受一个string这个参数,并且这个参数是必须的,这个参数就是要计算的这个字符串.它里面 ...
- phalcon: 查找记录(Finding Records)可用的查询设置如下:
可用的查询设置如下: 参数 描述 举例 conditions Search conditions for the find operation. Is used to extract only tho ...
- ios 开发 收起键盘的小技巧
在UIViewController中收起键盘,除了调用相应控件的resignFirstResponder方法外,还有另外三种方法: 1.重载UIViewController中的touchesBegin ...
- 在Ubuntu 14 上安装 Nginx-RTMP 流媒体服务器
一:RTMP RTMP流媒体协议是 一套 Adobe 开发的音频视频实时传输协议: 二:Nginx-rtmp nginx-rtmp 是一个基于nginx的 RTMP服务模块,开源,免费 https:/ ...
- libuv里的几个缺陷
libuv是node.js使用的基础库,主要包括主循环,文件和网络接口.虽然libuv是为node.js而生的,但它本身是一个独立的库,加上使用简单方便,所以在node.js之外也有不少人使用.最近整 ...