- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 头文件
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <set>#include <map>#include <string>#include <cmath>#inclu
2015-12-15 12:27:34 424
原创 杭州电子科技大学计算机学院大学生程序设计竞赛(2015'12)
链接地址,帐号:team2079,密码:0622261001:The Country List1002:Polygon1003:The collector’s puzzle误认为题意求的是每个箱子内宝物价值的总和和箱子价值之差的和,想了好久发现不能做。赛后有人告诉我这是NP问题。 其实题意求就是给每一个宝物找一个箱子,只要这个宝物与箱子的差最小,最后的结果也是最小的。所以,问题转化对于每个a[i]
2015-12-27 10:58:46 1826
原创 hdu 4990 Reading comprehension 矩阵快速幂
矩阵的递推关系式为 [ans200]\begin{bmatrix}ans & 0 \\ 2 & 0\end{bmatrix}=[4011]n/2−1∗[2200]\begin{bmatrix}4 & 1 \\ 0 & 1\end{bmatrix}^{n/2-1}*\begin{bmatrix}2 & 0 \\ 2 & 0\end{bmatrix}如果n为奇数,则ans=ans*2+1#incl
2015-12-11 15:59:46 324
原创 hdu 2604 Queuing 递推+矩阵快速幂
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=10;int n=4,m;struct Mat{ int mat[N][N];};Mat operator * (Mat a, Mat b){ Mat c; memset(c.mat, 0, s
2015-12-11 07:28:46 300
原创 hdu 2489 Minimal Ratio Tree 最小生成树+状态压缩
题目问的就是,从n个点中选m个点,生成树值和点的权值比例最小,用二进制来枚举全部情况。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=17;const int MAXN=1<<N;const double inf=1e10;int g[N][N],dist[N],vi
2015-12-09 23:01:21 297
原创 hdu 2242 考研路茫茫——空调教室 点强连通+树形dp
首先用强连通缩点,之后再用图中的桥和强连通分量新建一张图,之后算一次树形dp。 树形dp过程是,将一棵无根树,当成有根树,利用dfs计算每个节点的子树中的权值(即每一个强连通分量中的人数)#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include
2015-12-09 08:20:52 348
原创 zufeoj 2350 贪吃的松鼠
Problem J: 贪吃的松鼠Time Limit: 3 Sec Memory Limit: 2 MBSubmit: 60 Solved: 6[Submit][Status][Web Board]Description冬天到了,n只松鼠决定一起采集一波坚果过冬,可是在松树老大清点的时候,发现少了一些食物,于是召开松鼠大会,知道是有一只小松鼠偷吃了一部分食物
2015-12-07 20:41:09 530
原创 SPOJ SUBST1 New Distinct Substrings 后缀数组-子串个数
#include<string.h>#include<algorithm>using namespace std;const int maxn=200000;int t1[maxn],t2[maxn],c[maxn];bool cmp(int *r,int a,int b,int l){ return r[a]==r[b]&&r[a+l]==r[b+l];}void da(i
2015-12-04 22:47:41 370
原创 SPOJ DISUBSTR Distinct Substrings 后缀数组子串个数
#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;const int N = 100005;int wa[N], wb[N], ws[N], wv[N];int rk[N], height[N];bool cmp(int r[], int a, int
2015-12-04 22:46:27 374
原创 poj 3261 Milk Patterns 可重叠的k次最长重复子串 后缀数组da算法
#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;const int maxn=2000000;int t1[maxn],t2[maxn],c[maxn];bool cmp(int *r,int a,int b,int l){ return r[a]==r[b]&&r[a+l]==r[
2015-12-03 22:41:53 253
原创 poj 1743 Musical Theme 后缀数组da算法
#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;const int maxn=200000;int t1[maxn],t2[maxn],c[maxn];bool cmp(int *r,int a,int b,int l){ return r[a]==r[b]&&r[a+l]==r[
2015-12-03 20:39:12 297
原创 hdu 1403 Longest Common Substring 后缀数组da算法
/**suffix array*倍增算法 O(n*logn)*待排序数组长度为n,放在0~n-1中,在最后面补一个0*da(str ,n+1,sa,rank,height, , );//注意是n+1;*例如:*n = 8;*num[] = { 1, 1, 2, 1, 1, 1, 1, 2, $ };注意num最后一位为0,其他大于0*rank[] = { 4, 6, 8, 1, 2,
2015-12-03 18:25:35 417
原创 uestc 1222 Sudoku 搜索
#include<stdio.h>#include<algorithm>#include<string.h>#include<math.h>#include<bits/stdc++.h>using namespace std;int g[200][200];int r[200][200];int c[200][200];int mp[200][200];char s[200][20
2015-12-03 17:42:35 297
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人