第一题:(水题)

题目大意:就是给出扫雷的图,然后统计每个九宫格的雷的个数。

解题过程:

1.好久没做这样的水题了。直接模拟水过。。

第二题:

题目大意:给出一个长度小于1000的数k,要求一个尽可能小的数x,这个数的各个位的乘积为k;

解题过程:

1.想不到什么高级的算法,感觉就是考高精度除法,于是果断dfs爆搜,既然要求尽可能小的数,那么每次就从9到2一个一个试除,第一个找到的答案就是最后答案。这样20个点能过17个。

2.对比了标程,发现有2个剪枝:

首先如果上一次除的是 x,那么这一次 不必从9开始试除,因为比x大的因此 在之前肯定已经除掉了。

其次,如果当先枚举到能被x除尽,那么不必枚举比x小的那些数来除,因为这样也必定不比除x优。证明:假设 x能除尽当前的数,且存在y<x 能除尽当前的数,且之后能找到答案, 那么 除掉y之后,再去除的必定是x。 但是这样还不如 先除x在除y。而如果先除x找不到答案,那么先除y也一样找不到答案。

3.还是一道非常不错的题目,结合了贪心,搜索剪枝和高精度。从这题可以感受到,有的时候真的一个小小的优化可以让你的程序跑得快许多。

第三题:

题目大意:给出N个点M条边的无向图,要求一条从s到t的路径,使得 路径上 权值最大边的权值 除以 权值最小边的权值 的商最小, 结果输出这个商,如果是分数,用X/Y的形式表示,X和Y互质; N<=500,M<=5000

解题过程:

1.一开始想到的自然是 给边按权值排序,枚举最小值,二分最大值,用并查集判断联通,但是目测会超时。

2.然后就改成spfa:做两次spfa,分别从s,t出发 求出到每一个点的路径权值最大边的最小值,权值最小边的最大值,最后枚举中间点。结果 发现样例过不去,仔细想了想 其实这样的贪心是不对的。因为没法保证最大边最小和最小边最大 在同一条路径上。

3.看时间不够了,还是老老实实按1的方法来写,2个点超时。 看了下标程,发现有一个剪枝:就是如果枚举最小值的时候,上一个最小值和当前的相等,那么直接跳过。 加上这个减枝竟然神奇的0ms过了。。 而且标程的最大边没有二分,也是枚举的。时间复杂度O(M*(M+N*α(N))),按理说应该超时的。常数小,反而0ms。 我一开始的程序复杂度是大致 O(M*logM*M),确实慢了。 二分完全没有必要。

一模 (1) day2的更多相关文章

  1. 二模 (8) day2

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

  2. 一模 (4) day2

    第一题: 题目大意:二进制数 n mod m 的结果是多少?  n 的长度(二进制数的位数)<=200 000:  m 的长度(二进制数的位数)<=20. 解题过程: 1.我的算法是直接高 ...

  3. 二模 (16) day1&day2

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

  4. 二模 (15)day2

    第一题:Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/2p 的概率完成并得到2p−1分,如果完成不了,得0分.一开始每人都是0分,从Alice开始轮流做 ...

  5. 二模 (13)day2

    第一题: 题目大意: 给出一个N*M的矩阵,定义一条路径的权值为经过的所有点权值的最大值.求一条从第一行到第N行的路径,使得路径权值最小. N,M<=1000 矩阵内点的权值小于1000. 解题 ...

  6. 又是一个二模02,不过day2

    话说比较简单.除了第三题不会写平衡树啊你妹!!边做边写吧. 机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链 ...

  7. 二模Day2题解

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

  8. 二模 (12)day2

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

  9. 二模 (11) day2

    第一题: 题目大意: 有一本n个单词的字典,其中每个单词的长度不超过4且大于0.现在给你一篇文章,文章中没有分隔符,只有小写字母.现在需要你修改最少的字母,使文章(长度为m 是由字典中的单词构成. n ...

随机推荐

  1. VIM跳到指定行

    ngg nG :n n is the line number

  2. ttttttttttt

    http://www.2cto.com/kf/201606/519504.html http://a67474506.iteye.com/blog/2079590 spring boot: http: ...

  3. C语言下动态库相互调用

    前段时间需要完成多个模块业务,而这些模块的接口都是一样的,于是为了方便管理就把每个模块都根据接口封装成了SO库,这里就留下SO库调用样例 SO库源文件代码: //TestSo.c #include & ...

  4. 20160805_CentOS6_控制台切换

    1. Ctrl + Alt + F1~F6 Ctrl + Alt + F1 是 图形界面(如果装了的话),后面的是 控制台界面 2. 3.

  5. Ramdisk文件系统无法启动

    当kernel是使用ramdisk时,bootm命令有两种使用方式: 1.bootm ${kernel_addr} 此种方式要求bootargs变量包含ramdisk的地址和大小,ramdisk的格式 ...

  6. astyle 使用说明

    欢迎关注我的社交账号: 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://github.com/jiangxincode 知乎地址 ...

  7. bower install和cnpm install

    bower install :主要是安装前端的相关框架,如Boostarp,Angular等 cnpm install :主要是安装后端的,如express等

  8. Shader for sprite clipping

    Unity3D - Shader for sprite clippinghttp://stackoverflow.com/questions/23165899/unity3d-shader-for-s ...

  9. JavaWeb基础:HTTP协议和基于Restful的架构

    HTTP介绍 HTTP协议是互联网上应用最广泛的协议,它是一种无状态的数据传输协议,规定了数据请求方和数据响应方的数据传输方式:使用HTTP协议可以跨平台,跨语言的进行数据传输和展示. 目前的Web应 ...

  10. poj-------(2240)Arbitrage(最短路)

    Arbitrage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15640   Accepted: 6563 Descri ...