250 想想就发现规律了。500 暴力,括号匹配。1000给一个f数组,如果i存在,那么f[i]也得存在,问这样的集合有多少种。先拓扑一下,dp[i] = mul(dp[son]+1)最后环里面的元素的乘积是结果。#include #include #include #include #includ...
分类:
其他好文 时间:
2014-07-29 21:18:52
阅读次数:
175
中国剩余定理
孙子算经里有这样一个问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”
翻译成现在的数学问题就是 x%3 == 2,x%5 == 3,x%7 == 2,求x 的值;
遇到这这样一个问题很多C语言初学者不禁会想到用暴力可以算出来,还要这样一个定理干嘛?
如果数据相当大呢?计算机就会计算相当困难。然而这个问题早早的就被孙子解决了。
求出3,5,7...
分类:
其他好文 时间:
2014-07-29 18:13:12
阅读次数:
195
看似简单的字符串处理,不过直接暴力法是会超时的。
故此需要优化,这里使用周期优化。
研究过数列序列的都知道,其实序列反复调用另外一个序列得到一个新的序列,都会出现周期的,问题是周期何时出现,如果利用这个周期。
这就需要分开每个数,使用一个新的数列记录每个数的周期,利用这个周期截去一大段数据,那么剩下的数据就很好处理了。
因为所有的周期数总和都不会超过n,数列的长度的,所以时...
分类:
其他好文 时间:
2014-07-29 15:04:58
阅读次数:
205
原题http://acm.hdu.edu.cn/showproblem.php?pid=4883
TIANKENG’s restaurant
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)
Total Submission(s): 443 Accepted Subm...
分类:
其他好文 时间:
2014-07-29 14:48:18
阅读次数:
224
题目链接:http://vjudge.net/problem/viewProblem.action?id=20432
题目大意:朋友的朋友是朋友,求人数最多的那帮家伙有多少人。
我刚开始真尝试了一遍的一步一步用数组模拟搜索,拼接······,果断超时了,下次不干那么无聊的事了,明明有好算法,干嘛还暴力呢?#include
int fa[30001],tot[30001];
int find(int u)
{
fa[u]==u?u:fa[u]=find(fa[u]);
return fa...
分类:
其他好文 时间:
2014-07-29 13:06:37
阅读次数:
227
KMP算法应用于 在一篇有n个字母的文档中 查找某个想要查找的长度为m的单词;暴力枚举:从文档的前m个字母和单词对比,然后是第2到m+1个,然后是第3到m+2个;这样算法复杂度最坏就达到了O(m*n),对于大数据肯定不行。KMP算法的精髓即设法减少不必要的枚举次数,举个例子;比如已经匹配好了单词的前...
分类:
其他好文 时间:
2014-07-29 12:16:46
阅读次数:
192
Time Limit: 1000MSMemory Limit: 65536KTotal Submissions: 3394Accepted: 2172DescriptionYour task is to read a picture of a chessboard position and prin...
分类:
其他好文 时间:
2014-07-29 11:07:46
阅读次数:
355
题目链接:hdu 4886 TIANKENG’s restaurant(2)
题目大意:给定一个字符串S,要求在该字符串中找到一个最短并且字符串字典序最小.
解题思路:每次枚举字符串的长度,然后将S中所有该长度的子串映射成一个9进制数,最后再遍历一遍标记数组。
#include
#include
#include
using namespace std;
const int ...
分类:
其他好文 时间:
2014-07-28 15:49:13
阅读次数:
188
TIANKENG’s restauranthttp://acm.hdu.edu.cn/showproblem.php?pid=4883竟然暴力1.44*10^7 还要*T=100 竟然过了 1 #include 2 #include 3 #include 4 #define mt(a,b) mems...
分类:
其他好文 时间:
2014-07-28 02:53:49
阅读次数:
219
开始的时候是暴力dfs+剪枝,怎么也不行。后来参考他人思想:
先求出每个点之间的最短路(这样预处理之后的搜索就可以判重返回了),截肢还是关键:1最优性剪枝(尽量最优:目前的状态+预计还有的最小时间>min就return !),2:可行性截肢:如果当前状态+预计状态已经不可行,return。(注意考虑是 continue,还是 return !).以及放的位置!在出口放的效果一般好一些(不在下...
分类:
其他好文 时间:
2014-07-28 00:24:49
阅读次数:
227