几个有趣的算法题目

2017-11-09
阅读 16 分钟
16.5k
本文首发 [链接] 最接近的数字 题目 一个K位的数N $$ (K\leq2000,N\leq10^{20}) $$ 找出一个比N大且最接近的数,这个数的每位之和与N相同,用代码实现之。 例如:0050 所求书数字为0104;112 所求数为121; 算法分析 算法思想 直接暴力求这个数字是不可以的,数字的量级太大,有K位的数字,不可能直接用int,或者float...

ACM - Uva 11549 水题

2015-03-18
阅读 2 分钟
2.5k
似乎没有什么技术含量,没有按照佳哥的写,直接用了log10的方法求位数,时间开销是1.5,如果按位数处理肯定更快,但是代码就要复杂很多。但是应用floyd判圈算法更快。

ACM - UVa 11078 固定值和非固定值

2015-03-18
阅读 1 分钟
2.4k
一开始没有想到简单的推理方法。 最简单的是在当前点刷新diff的值,然后更新最大的Ai {代码...}

ACM - UVa 11462 IO限制

2015-03-18
阅读 2 分钟
2.5k
这个题目主要是IO限制和计数排序。计数排序是线性的。 不过个人觉得没有人会蛋疼到出个IO限制的题目- - 非IO限制的AC {代码...} IO限制达成的AC {代码...}

ACM - LA3177

2015-03-18
阅读 2 分钟
2.4k
segmentfault的诸位大大解决BUG的问题也是极为迅速,在此感谢一下。 title: "ACM-LA3177" date: 2015-03-18 15:07:42 categories: - ACM 白皮书给的答案没有考虑到n == 1的情况,然后还写了两个n,醉了。。 也是我一开始并没有真正的理解题解,反复考虑关于n == 1的问题还有 want[n] == want[0] 这个技巧。 对于循环的东...

大白刷题路

2015-03-10
阅读 6 分钟
3.1k
编号为i的人初始有$A_i$枚金币。对于1号,给了4号$x_1$枚金币,自己还有$A_1-x_1$枚。然后从2号拿走$x_2$枚金币,现在有$A_1-x_1+x_2$枚金币,另外,设平均金币值为$A_1-x_1+x_2=M$。

第11章 图论模型算法

2015-03-09
阅读 4 分钟
2.8k
11.1.1 无根树转有根树 {代码...} 11.1.2 表达式树 {代码...} 11.1.3 最小生成树kruskals算法 {代码...} 11.2.1 Dijkstra 算法(最短路径) {代码...} 11.2.4 Bellman-Ford 算法(负权最短路径) 当负权存在的时候,如果最短路径存在,通过Bellman算法可以求出 {代码...} 11.2.5 Floyd 算法(两点最短路径) 如果n>30...

ACM - 7.4 回溯法

2015-02-04
阅读 3 分钟
2.6k
生成和检查结合. 7.4.1 八皇后 利用数组C[cur]记录列数,行号。关键在于回溯 -- 如果不合适,那么回溯到上一层。break; {代码...} 7.4.2 素数环 {代码...} 7.4.3 困难的串 每次从后面寻找串即可, 前面的串已经是没有重复的了。 {代码...}

ACM - 7.3 子集生成

2015-02-02
阅读 2 分钟
2.9k
7.3.1 增量构造法 输入n,生成n的子集(包括0)。运用了定序的技巧,不会把集合输出两次。 解答树计算方面:因为是集合,所以$2^n$个节点。集合的元素2^n {代码...} 位向量法 {代码...} 二进制法 位运算中与,或,异或相当于集合的交,并,对称差。 {代码...}

ACM - 7.2 枚举排列

2015-02-02
阅读 3 分钟
3.2k
7.2.1 生成1~n的排列 相比之下perm速度更快,但是print_perm似乎更加好理解一些 {代码...} 7.2.2 生成可重集的排列 生成有重复元素的排列。此时算法设计书上的方法不太好用了。此外,需要注意的是,a要和p相同。 {代码...} 利用STL生成组合 {代码...} 解答树 此外,在构造递归的过程中,可以构造解答树来简化问题。

ACM - Uvaoj 刷题

2015-01-27
阅读 3 分钟
4.8k
10055 WA了两次之后好好or vice versa:反之亦然。 另外,int型的最大为2^31-1(符号位) {代码...} 10071 看了看就是求路程的两倍。。 {代码...} 10030 中间那个数没用。 {代码...} 401 没有考虑len == 1的情况-=,再一个就是整数>0, 对应的bool为true. {代码...}

ACM - 算法篇,基础题目

2015-01-23
阅读 4 分钟
2.8k
5-1-1 左移键盘 {代码...} 5-1-2 Tex括号 {代码...} 5-1-3 周期串 {代码...} 5.2 高精度 5.2.1 小学生算数 ace()是模拟手算加法 {代码...} 5-2-2 阶乘精确值 包含模拟手算大数 {代码...}

ACM-字符串的相关联系,进制

2015-01-21
阅读 5 分钟
2.5k
字符串的相关处理练习 3-3 乘积的末3位 主要在于EOF的判断,以及清空缓冲区的处理(gcc编译器没有fflush(stdin))。 如果scanf得到了错误的数值,返回值0 {代码...} 3-4 计算器 {代码...} 3-5 Matrix 旋转矩阵 {代码...} 3-6 进制转换,10进制转换为b进制 求每次除以b得到的余数,反向输出余数即可。 {代码...} 3-6 进制...