Uva:11401 数三角形:有多少种方法可以从1,2,3,…,n中选出3个不同的整数,使得以它们为三边长可以组成三角形?(n≤1000000) 分析:如果直接暴力,参考n的取值范围,O(n^3)的复杂度势必不堪重负,因此这里需要一定的数学推导。 我们设c(x)为最大边长为x的三角形个数,f(n)为 ...
分类:
其他好文 时间:
2016-06-09 09:42:18
阅读次数:
231
第二章:数学基础 基本计数方法: 在这一章节中有关基本的计数原理、容斥原理、二项式系数恒等式这里不再体现,这个专栏主要通过具体的题目来提升对理论知识的应用。 下面我们来看两个基本计数问题: ex1:可重复选择的组合:有n个不同元素,每个元素可以选多次,一共选k个元素有多少方法? 分析:设第i种元素选 ...
分类:
其他好文 时间:
2016-06-09 08:37:08
阅读次数:
132
训练指南P327 题意:36张牌分成9堆, 每堆4张牌。每次拿走某两堆顶部的牌,但需要点数相同。如果出现多种拿法则等概率的随机拿。 如果最后拿完所有的牌则游戏成功,求成功的概率。 开个9维数组表示每一堆的状态,模拟搜索一下 1 #include <iostream> 2 #include <cstd ...
分类:
其他好文 时间:
2016-06-03 17:19:48
阅读次数:
394
题意:给你一个由s个不同单词组成的字典和一个长字符串L,让你把这个长字符串分解成若干个单词连接(单词是可以重复使用的),求有多少种。(算法入门训练指南-P209) 析:我个去,一看这不是一个DP吗?刚开始交一直是runtime error,找了好久,一直以为是数组开小了,不断增大还是这样,后来发现我 ...
分类:
其他好文 时间:
2016-05-25 16:32:00
阅读次数:
119
来自《训练指南》优先级队列的例题。 题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18702 题意:给定k个整数数组,各包含k个元素。在每个数组中取一个元素加起来,可以得到kk个和,求这些和中最小的k个值(不去重)。 ...
分类:
其他好文 时间:
2016-05-16 14:10:13
阅读次数:
158
题目链接 题意:训练指南P223 分析:二分长度,把所有字符串连成一个字符串,中间用不同的字符分隔(这是为了保证匹配长度始终在一个字符串内)。height数组分段,vis数组标记哪些字符串被访问了,如果可行,更新长度最大值,以及所有符合条件的子串的起点,最后要按字典序从小到大输出。虽然写的有些搓,比 ...
分类:
编程语言 时间:
2016-05-02 16:54:36
阅读次数:
185
图论中,用来求最短路的方法有很多,适用范围和时间复杂度也各不相同。
本文主要介绍的算法的代码主要来源如下:
Dijkstra: Algorithms(《算法概论》)Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani;《算法竞赛入门经典—训练指南》刘汝佳、陈峰。SPFA (Shortest Path Faster Algorit...
分类:
编程语言 时间:
2016-04-18 13:47:13
阅读次数:
348
题目传送门 题意:给n个数,选择一些数字乘积为平方数的选择方案数。训练指南题目。 分析:每一个数字分解质因数。比如4, 6, 10, 15,, , , , 令,表示选择第i个数字,那么,如果p是平方数,那么每个质因数上的指数为偶数,x1系数为2已经是偶数不考虑。可以转换为异或为0判断偶数,即奇数置为 ...
分类:
其他好文 时间:
2016-04-07 22:14:36
阅读次数:
325
题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18913 这道题是一道状态压缩DP的好题,有几点要注意的: 1.uva给出的题目不知道为何,题意是有些描述不清的,详见《训练指南》 2.这道题可以有很多写法,整个的dp求解
分类:
其他好文 时间:
2016-03-19 22:52:46
阅读次数:
190
#include #include #include #include #include #include #include #include #include #include #define MM(a) memset(a,0,sizeof(a)) typedef long long ll; ty
分类:
其他好文 时间:
2016-03-15 23:28:35
阅读次数:
234