09 2014 档案
ZOJ 3818 Pretty Poem
摘要:暴力模拟细节处理很重要。。。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 char s1[100],s[100]; 7 int len1,len; 8 int t; ...
阅读全文
HDU 4597 Play Game
摘要:博弈dp 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 int d[30][30][30][30]; 8 int visit[30][30][30][30]; 9 int a[50],b...
阅读全文
HDU 4497 GCD and LCM
摘要:以前写过类似的,这个应该比那个难些(x/gcd(x,y,z))*(y/gcd(x,y,z))*(z*gcd(x,y,z)=lcm(x,y,z)/gcd(x,y,z);对lcm(x,y,z)/gcd(x,y,z)唯一分解;对于每个pi^ai,x/gcd(x,y,z),y/gcd(x,y,z),z/gc...
阅读全文
CSU 1335 高桥和低桥
摘要:开始队友说是线段树,看了看貌似也是,上手敲了个嵌套的线段树,O(nlognlogn)的复杂度果断tle了 TAT思路:对h[i]排序,对每次涨水退水,先用二分查找,再用一个数组保存当前点之后所有点被淹的次数;temp[bs(b[i-1])+1]++,temp[bs(a[i])+1]--;最后遍历一遍...
阅读全文
UVA 10791 Minimum Sum LCM
摘要:唯一分解定理把n分解为 n=a1^p1*a2^p2*...的形式,易得每个ai^pi作为一个单独的整数最优。坑: n==1 ans=2; n因子种数只有一个 ans++; 注意溢出。 1 #include 2 #include 3 using namespace std;...
阅读全文
CSU 1119 Collecting Coins
摘要:bfs+dfs很复杂的搜索题。因为数据很小,rock最多只有5个,coin最多只有10个,移动rock最多4^5=1024种状态;思路: 每次先把当前状态能拿到的coin拿走,并将地图当前位置设为'.' (拿走coin的位置为空) 拿走coin后,在搜索一次,碰到rock判断是否能push动,能...
阅读全文
CSU 1120 病毒
摘要:最长公共上升子序列(LCIS)裸的算法题。动态规划: 两组数组a[n]、b[m]。 f[i][i]表示以a[i]、b[j]结尾的两个数组的LCIS。 转移方程: a[i]!=b[j] : f[i][j]=f[i-1][j]; a[i]==b[j] : f[i][j]=max (f[...
阅读全文
UVA 12169 Disgruntled Judge
摘要:我该怎么说这道题呢。。。说简单其实也简单,就枚举模拟,开始卡了好久,今天看到这题没a又写了遍,看似会超时的代码交上去a了,果然实践是检验真理的唯一标准。。。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const i...
阅读全文
HDU 1301 Jungle Roads
摘要:最小生成树prim原理参见上篇 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const int INF = 99999999 ; 9 const int maxn = ...
阅读全文
POJ 1258 Agri-Net
摘要:最小生成树prim原理: 任取一点作为起始点,遍历当前点的所有的邻近点,维护更新到达邻近点的最小花费。选择权值最小的点作为下一次的起始点; 已经遍历过的点不再作为起始点。 1 #include 2 #include 3 #include 4 #include 5 #include 6 ...
阅读全文
HDU 1879 继续畅通工程
摘要:最小生成树Kruskal原理参见上篇 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const int maxn=105; 9 10 int x[maxn],y[maxn...
阅读全文
HDU 1875 畅通工程再续
摘要:最小生成树Kruskal原理: 将边按权值从小到大排列,从小的开始取,用并查集标记已经到达的点,当取到当前边会形成环则放弃(当前边两个端点都已被标记在同一个连通块内);否则取当前边,将两个端点所在连通块标记到一起。因为只要判断两个端点是否在同一个连通块内,所以并查集可以路径压缩。边界:取到n-1条...
阅读全文
浙公网安备 33010602011771号