第一题:(水题)

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

解题过程:

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. Oracle的参数文件

    参数文件的作用: 它们是在数据库实例启动时候加载的,决定了数据库的物理结构.内存.数据库的限制及系统大量的默认值.数据库的各种物理属性.指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重 ...

  2. 关于level DB的相关资料

    可以参考: http://blog.csdn.net/houzengjiang/article/details/7718548 http://www.cnblogs.com/haippy/archiv ...

  3. php PDO链接SQL SERVER

    操作系统Windows7 apache 2.2 php php-5.4.45-Win32-VC9-x86 sqlserver 2008 下载SQLSRV32 https://www.microsoft ...

  4. js 中文乱码

    js合成url时,如果参数是中文,传到struts2中会乱码,解决办法如下:1.js文件中使用encodeURI()方法(必须套两层).login_name = encodeURI(encodeURI ...

  5. iOS开发 设置状态栏样式

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:NO];

  6. nginx的启动与关闭

    [root@nginx ~]# #默认启动方式 [root@nginx ~]# which nginx /sbin/nginx [root@nginx ~]# nginx [root@nginx ~] ...

  7. commonJS — 对象操作(for Object)

    for Object github: https://github.com/laixiangran/commonJS/blob/master/src/forObject.js 代码 /** * Cre ...

  8. Java常见错误

    1.NullPointerExceptin 空指针异常 a.引用没有初始化就使用 b.引用置空了,仍然被使用 2.IndexOutofBoundsException 下标越界 a.数组下标小于0 或者 ...

  9. matlab 自动阈值白平衡算法 程序可编译实现

    一种效果很好的自动白平衡技术(WhiteBalance) 白平衡是图像处理的一个极重要概念.所谓白平衡(英文名称为White Balance),就是对白色物体的还原.当我们用肉眼观看这大千世界时,在不 ...

  10. Windows代码页、区域

    目录 第1章代码页    1 1 代码页    1 1.1 单字节字符集    1 1.2 双字节字符集    1 1.3 多字节字符集    1 1.4 ANSI代码页    2 2 枚举代码页   ...