第一题:

题目大意:求出区间 [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的更多相关文章

  1. 二模 (8) day2

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

  2. 银行卡号码校验算法(Luhn算法,又叫模10算法)

    有时候在网上办理一些业务时有些需要填写银行卡号码,当胡乱填写时会立即报错,但是并没有发现向后端发送请求,那么这个效果是怎么实现的呢. 对于银行卡号有一个校验算法,叫做Luhn算法. 一.银行卡号码的校 ...

  3. 二模13day1解题报告

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

  4. LUHN 模10 算法 银行卡校验

    信用卡Luhn算法(模10)具体的校验过程如下: 1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去 ...

  5. [技术栈]C#利用Luhn算法(模10算法)对IMEI校验

    1.Luhn算法(模10算法) 通过查看ISO/IEC 7812-1:2017文件可以看到对于luhn算法的解释,如下图: 算法主要分为三步: 第一步:从右边第一位(最低位)开始隔位乘2: 第二步:把 ...

  6. 二模 (9) day2

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

  7. 二模 (16) day1&day2

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

  8. 二模Day2题解

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

  9. 二模 (12)day2

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

随机推荐

  1. mysql复制的配置

    # 78服务器 server-id=78 # 从哪个数开始 auto_increment_offset=1  # 每次增加多少 auto_increment_increment=2 log-bin=m ...

  2. (四)linux常用命令

    1.在vim下要查找特定的字符串可按Esc键,然后按/字符串,如/DFGE 2.在vim下要显示行数:set nu

  3. Android 让输入框输入指定字符的办法

    让输入框输入指定字符的办法 有一个需求 让输入密码的时候只能输入数字字母可见字符 不能输入中文 之前还以为要写代码 还来发现有一个属性可以直接实现 <EditText android:layou ...

  4. goLang文件遍历

    package main import (  "fmt"  "io/ioutil"  "os"  "path/filepath&q ...

  5. hdu 5755(高斯消元——模线性方程组模板)

    PS. 看了大神的题解,发现确实可以用m个未知数的高斯消元做.因为确定了第一行的情况,之后所有行的情况都可以根据第一行推. 这样复杂度直接变成O(m*m*m) 知道了是高斯消元后,其实只要稍加处理,就 ...

  6. double精度问题,数据范围

    浮点数在计算机中存储方式  http://www.cnblogs.com/jillzhang/archive/2007/06/24/793901.html 1. double:  1bit(符号位) ...

  7. ogre入门笔记

    ogre作为一款开源的非商业渲染引擎, 除去效率不谈, 其设计结构十分优雅, 值得游戏从业者拥有和学习.本篇笔记基于ogre v1.9. 1.代码模块 ogre的核心代码分布如下图: ogreMain ...

  8. 指针类型(C# 编程指南)

    原文地址:https://msdn.microsoft.com/zh-cn/library/y31yhkeb.aspx 在不安全的上下文中,类型可以是指针类型.值类型或引用类型. 指针类型声明采用下列 ...

  9. 在excel单元格中提取信息

    平时在excel中处理数据的时候,肯定会遇到在单元格提取信息的情况,比如在地址中提取省.市.地区等,如果数据源内容规整的话,可以直接使用left().right().mid()等函数直接提取,但是大多 ...

  10. Compound Interest Calculator3.0续

    1.你写的程序能让客户随意操作吗?误输入数据.不小心做了非常规的操作程序是什么反应? 2.如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额) ...