- 博客(160)
- 资源 (1)
- 收藏
- 关注
原创 zoj 3602 Count the Trees 树的同构
/*二叉树的同构 把每棵子树映射为一个整数如节点n的左右孩子为L,R,那么取子树L对应的整数Ln子树R对应的整数Rn,把pair(Ln,Rn)对应为一个整数就是当前子树的映射*/#include#include#include#include#include#include#includeusing namespace std;const int maxn=10000
2012-08-06 00:54:35 3242
原创 HDU 4313 Matrix 类似 克鲁斯卡尔算法
#include #include #include #include #include #include #include #include #include#includeusing namespace std;set Set;struct Edge{ int x,y,val; bool operator<(const Edge & a)const
2012-08-04 21:37:12 2450
原创 HDU 4323 Magic Number 编辑距离(经典DP)
#include#include#include#include#include#includeusing namespace std;char str[1509][1009],s[1009];int dp[1509][1509];int n,m;int main(){ int ca,len,len2,p,op,ans; scanf("%d",&ca);
2012-08-04 21:35:17 2937
原创 HDU 4337 King Arthur's Knights 稠密图构造汉密尔顿回路
#include#include#includeusing namespace std;const int N=200;int str[N],m[N][N],vis[N];int n,k;void rev(int s,int t){ while(s<t) { swap(str[s],str[t]); s++,t--; }}
2012-08-04 21:33:46 3283
原创 HDU 4339 Query 树状数组
#include#include#include#include#includeusing namespace std;const int maxn=1000009;int c[maxn];char s1[maxn],s2[maxn];struct bit{ int lowbit(int x) { return x&-x; } v
2012-08-04 21:31:05 2122
原创 HDU4331 Image Recognition 树状数组+扫描线
#include#include#include#include#include#includeusing namespace std;const int maxn=1009;int c[maxn];int m[maxn][maxn];int L[maxn][maxn],R[maxn][maxn],U[maxn][maxn],D[maxn][maxn];int n;stru
2012-08-04 21:28:52 2240
原创 uestc 1717 Journey
#include #include #include #include #include #include #include #include using namespace std;const int N=100009;int n,m;int a,b,c,x,y;int len[N];int get[N];int vis[N],fa[N];vector > v[N]
2012-07-14 18:45:00 2120
原创 poj 4047 Garden 2012金华邀请赛 线段树
/*三种操作0 x y 把x位置的值改成y1 x y 交换x与y位置的值2 x y 统计[x,y]中连续k个值的最大值我们把1-k的和值作为b[1],2-(k+1)的和值作为b[2],以此类推那么可以建立一棵[1,n-k+1]的线段树求连续k个和的最大值,退化为求某个区间的最值问题线段树中有延迟操作,优化时间效率*/#include #include #include #
2012-07-07 21:00:31 3447
原创 poj 4052 Hrinity 2012 金华邀请赛 AC自动机 DFA
/*题意:给定一些匹配串和一个模式串,问有多少个匹配串出现在模式串中。、1.相同的匹配串记为一次2.如果匹配串s1和s2都出现在模式串中,那么忽略s1题解:如果没有条件2,就是很经典的AC自动机题了。按照经典方法我们可以找出所有出现过的匹配串,记为集合T,然后再这些串中去掉可以作为T中非自身子串的串*/#include#include#include#include#in
2012-07-07 16:29:06 3921
原创 poj 3728 tarjan+带权路径并查集
#include#include#includeusing namespace std;const int N=55009;int n,q,a,b,fa[N],vis[N],ans[N],v[N],Max[N],Min[N],up[N],down[N];vector need[N],edge[N],kv[N];int find(int x){ if(x==fa[x])ret
2012-07-06 16:30:19 2620
原创 poj 2778 AC自动机+DP+矩阵快速幂
#include#include#include#includeusing namespace std;typedef __int64 type;const int kind=4; //每个节点的子节点的个数上限const int mod = 100000;const int size=109; //转移矩阵的行大小class AC_auto{ public:
2012-07-06 10:24:52 2426
转载 vb.net 调用oracle中存储过程
存储过程的实例:PROCEDURE TEST_C(temp out varchar2,a IN varchar2, b in varchar2)ISBEGIN temp:=a || b; END;调用方法:说明:要在程序开头加入Imports System.Data.OleDb Dim dbConn As New OleDbConnecti
2012-05-19 14:52:27 3918
转载 ftp vsftpd详细配置
#################匿名权限控制###############anonymous_enable=YES #是否启用匿名用户no_anon_password=YES #匿名用户login时不询问口令下面这四个主要语句控制这文件和文件夹的上传、下载、创建、删除和重命名。anon_upload_enable=(yes/no); #控制匿名用户对文件(非目录)
2012-05-07 18:39:47 4894
转载 CentOS中vsftp安装与配置
1. 安装 使用chkconfig --list来查看是否装有vsftpd服务; 使用yum命令直接安装:yum -y install vsftpd 然后为它创建日志文件:touch /var/log/vsftpd.log 这样简单的两个命令就完成了vsftp的安装,但是如果你现在想这样ftp://your_ip来访问的话,那还不行,还需要配置权限! 2. 启动与配置自
2012-05-07 12:57:59 2443
原创 codeforces Round #117 Div.2 182E. Wooden Fence
#include#include#include#include#include#include#include#include#includeusing namespace std;const int MOD=1000000007;const int M=3209;const int N=230;int n,l,a[N],b[N];long long dp[M][N]
2012-04-25 08:48:35 2344
原创 Codeforces 166B - Polygons
/*判断一个多边形是否严格在一个凸包内(这个凸包上不存在共线的三点) 把凸包上的点和多边形上的点一起做一次凸包是生成,判断生成的凸包和原来的是否是一个凸包就ok了 注意的细节比较多 */#include#include#include#include#include#include#include#include#includeconst int MAXN = 20000
2012-04-24 17:21:45 2401
转载 fork()前的printf打印两次的问题
这几天在看Linux应用编程, 测试了一下里面所讲的fork函数。 不是说子进程会从fork语句处开始运行吗? 为啥之前的printf内容还会被输出。 在网上找了一下,大概是这么回事:———————————————————————————–main(){int a;int pid;printf(“AAAAAAAA”); // 这里为什么会被print 2次pid=f
2012-04-02 00:37:23 6001 4
转载 解决The InnoDB feature is disabled; you need MySQL built with InnoDB
解决The InnoDB feature is disabled; you need MySQL built with InnoDB在MYSQL下创建事务,存储过程,触发器,主外健的时候,数据表的类型必须是InnoDB的,但有的时候MYSQL不支持这种类型,会出现一种错误!MySQL出现如下语句:The InnoDB feature is disabled; you n
2012-03-29 15:21:19 5620
原创 CodeForces Round #112 Div2 165 E. Compatible Numbers
/*经典DP一定一个数组a1,a2,a3.....对于每一个ai在此数组中找到一个数aj,使得ai&aj=0,如果没有这样的aj,输出-1;n最大1000000.对于一个ai,按位取反后的数x,肯定满足ai&x=0;但aj=x是充分不必要条件,对与x,它的二进制中若干个1变为0并不影响ai&x=0;所以只要数组中存在这类x中的一个就行了。*/#include #include
2012-03-26 14:53:14 2438
原创 CodeForces Round #112 Div2 165 D. Beard Graph
/*题目给定一棵树,这棵树很特殊,只有根节点的度可能超过2有三种操作 1.把编号为x的边染成黑色2.把编号为x的边染成白色(此时这条边不可以走)3.询问x,y之间的距离(不能走到输出-1)*/#include#include#include#include#include#include#include#includeusing namespace std;con
2012-03-26 14:40:36 2312
原创 linux下mysql的编码统一
Linux环境下默认登录mysql之后show variables like '%character%', 出现 mysql> show variables like '%character%'; -------------------------- ---------------------------- | Variable_name | Value | 修改/
2012-03-13 16:37:25 1055
原创 CodeForces Round #111 Div.2 problem D 160D
/*题意:最小生成树and tarjan.给定一个简单无向连通图G(v,e),他的最小生成树为T(不一定唯一),对于图中的任意一条边,如果它不可能在T中,输出none,如果它一定在T中,输出any如果它可能在T中,输出at least one题解:只有有相同权值的边的时候才可能出现at least one的情况G的点集为N如果 e1,e2,e3...的权值相同,在N中以克鲁斯
2012-03-08 14:05:41 910 1
原创 mysql 数据的导入和导出
在MySQL数据库中导出整个数据库: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_ap
2012-03-05 12:36:08 744
转载 Notepad++ 编译c++ 和 java
NOTEPAD++ :运行notpad++,点击“运行-》运行”菜单,出现一个弹出框。 编译源代码:cmd /k gcc -o $(NAME_PART).exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT 运行上一步生成的可执行文件:cmd /k "$(NAME_PART)" & PAUSE & EXIT注意事项: 引号的使用是为
2012-02-25 15:07:47 2067
原创 java servlet 连接数据库
import java.io.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import javax.servlet.*;import javax.servlet.http.*;public class
2012-01-26 18:25:39 3458
原创 2011新生练习赛三解题报告
A:#include#include#include#include#includeusing namespace std;char s[209];int main(){ while(scanf("%s",s)!=EOF) { int len=strlen(s); int ans=0; for(int i=0;i<
2011-12-11 20:49:30 1325
原创 HDU 4115 Eliminate the Conflict 2-sat
#include#include#include#include#include#include#include#includeusing namespace std;const int MAXE=10000002;const int MAX=20009;int vis[10009];struct Point{ int x,y;}p[10009];struct
2011-11-10 13:01:13 1857 2
原创 hdu 2435 There is a war 最小割-带加边条件
/*题意:给定一个有向网络,边权为拆掉边的代价,现在1要到n去,n试图阻止1到底,它至少花多大代价。 有一个条件,1可以在任意两点(不含1和n)加入一条边(此边不可被拆除),求n要花费的最小代价最大值题解:如果没有后面一个条件,答案就是最小割。易知加入两条边必须从源集到汇集(不然原最小割可以割断联系) 对于求一遍1到n的最大流网络状态network和最小割tmp,加入一
2011-11-02 15:34:28 1302 1
原创 hdu 4109 Instrction Arrangement 拓扑排序 关键路径
/*给定一个关系网,A B C表示B必须在A后,间隔为C,允许多线程同时操作最后求最短的时间把所有任务完成解法:关键路径topsort维护每个节点最早可以完成的时间*/#include#include#include#include#includeusing namespace std;struct node{ int y,t;}edge[10009];in
2011-10-30 21:30:22 1879 3
原创 hdu 4107 Gangster 线段树
/*操作a b c:[a,b]区间上的节点加上c,若节点的值已经超过P(包括等于),则加上2*c最后求每个节点的值和hdu3954很类似,具体参考:http://blog.csdn.net/wsniyufang/article/details/6702560每个区间设定min_dis;当区间中有一个点超过P时,释放lazy*/using namespace std;const in
2011-10-30 21:26:01 1413
原创 poj 3849 Settlers of Catan 模拟
#include #include #include #include #include #include #include #include using namespace std; int in[7]; int C[78]; int d[10009]; void init() { C[0]=1; for
2011-10-28 23:37:31 1209
原创 poj 3844 Divisible Subsequences 组合数学
/*参看http://blog.csdn.net/wsniyufang/article/details/6666169*/#include #include int f[1000005]; __int64 ans; int main() { int i,j,k,t,n,d; scanf("%d",&t); while(t--){
2011-10-28 23:27:03 1032
原创 poj 3850 Simple Polygon
/*题意:给定一些点,求一个点的序列,按照这个序列连接点(首尾也相连)使得形成一个多边形(既任意连线和其他线不想交)直接极角排序就好了,注意共线的情况,除了在起始位置距离极点小的在前,其他位置距离极点远的在前*/#include #include #include #include const int MAXN = 2009; const double eps
2011-10-28 23:19:43 1134
原创 POJ 3842 An Industrial Spy
/*筛出10000000内的素数显然是不可行的;筛出3400内的素数来检测10000000以内的数就ok了另外已经搜索过的数用used标记,下次碰到标记过的就不在判断,剪掉很多。*/#include #include #include #include #include #include #include using namespace std;
2011-10-28 23:13:22 1347 1
原创 HDU 3756 Dome of Circus 三分
/*底面为xy平面和轴为z轴的圆锥,给定一些点,使得圆锥覆盖所有点并且体积最小点都可以投射到xz平面,问题转换为确定一条直线(交x,z与正半轴)使得与x的截距r和与z轴的截距h满足h*r*r最小。三分,对于确定的h可以找到最佳的r,并且h*r*r的曲线必定只有一个极小值*/struct po{ double x,y;}p[10005];const double eps=1
2011-10-27 11:02:59 1848
原创 HDU 3760 Ideal Path 最短路spfa+BFS 字典序最小的最短路
/*题意:给定无向图(有重边)每条边有一种颜色,边权为1,让你找到从1到n的最短路,并且经过的边的颜色组成的序列的字典序最小。解答:1 分别spfa求出所有点到1和n的最短路d[0][i],d[1][i](可能经过的边u-v满足d[0][u]+1+d[1][v]=d[0][n])。 2 bfs搜索最小的字典序序列,找出C[step]的最小颜色序号*/const int M
2011-10-27 10:46:11 1510
原创 09 harbin现场赛 DLX
/*0代表可以填任意数e代表只能是奇数o代表只能填偶数相同字母的格子必须是同一个数e,o,0是同样处理的,只不过e,o加入奇数或偶数,0加入全部的1-9检查符合上述要求的解是否符合同字母同数字即可*/#include#include#include#includeusing namespace std;const int Row=9;const int MAX_COL
2011-10-20 11:26:55 993
原创 HDU 3231Box Relations 拓扑排序
/*分别对x,y,z topsort就ok了注意有公共部分的时候的建边*/#include #include #include #include #include #include #include #include #includeusing namespace std;int n,r;char s[3];int x,y;int inx[1009*2];int
2011-10-20 11:16:15 1400
转载 HDU 3234 Exclusive-OR 并查集变形
/* 转自:http://www.cppblog.com/Yuan/archive/2010/09/02/125667.html?opt=admin稍许改写 有n(n<=20000)个未知的整数X0,X1,X2Xn-1,有以下Q个(Q<=40000)操作: I p v :告诉你Xp=v I p q v :告诉你Xp Xor Xq=v Q k p1 p2 …
2011-10-20 11:11:39 1777 1
原创 hdu 3498 Dancing link 重复覆盖
# include # include # define N 60 # define V N*N int L[V],R[V];//记录左右方向的双向链表 int U[V],D[V];//记录上下方向的双向链表 int C[V];//指向其列指针头的地址 int H[
2011-10-13 22:36:57 1051
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人