自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 关于在ASP.NET控件Response弹出窗口的问题

<br />Response.Write("<mce:script language='javascript'><!--alert('您已经成功修改密码,请牢记您的密码!');// --></mce:script>");<br />      一开始出现的问题就是弹出了一个窗口,但是就是前面的一些文本框会出现一些问题,最后就在里面加一条语句就可以了,意思就是窗口单击确定后直接转向本个页面就可以了。<br />Response.Write("<mce:script language='javascri

2010-11-25 18:24:00 700

原创 ASP.NET编程中遇到的问题

<br />      这次我选择的毕业设计题目是“基于B/S结构的师资管理及系统管理系统”,其实很多人看到这个题目,心里就一直在笑,这又是管理系统,这不是专科毕业生做的题目吗?怎么我会选择这个题目呢?<br />      其实我也不知道为什么会选择这个题目!但是其实我并不介意做这个题目,很多人会笑我是因为他们不懂,因为他们没做过!他们以为很简单,很简单的情况就是去网上copy源代码,正因为如此,才让人觉简单,其实我也没什么好解释的,只要我能学到我所想要的,其他的就不重要了。其实做很多东西特别是软件业的东

2010-11-23 20:39:00 733

原创 FOJ_1976

<br />http://acm.fzu.edu.cn/problem.php?pid=1976<br />题意:给你一个魔方,现在要你旋转,有顺时针,逆时针,要问你操作几次之后各个面的各个小块的号码;<br />考点:复杂的模拟题<br />解题思路:<br />(1)定义数据结构:<br />对应每相邻的两个小块当做一个整体来看待;对应的数据结构如下:<br />struct nnext{ int left ,mid;//本小块左边的对应的面号码,本小块的对应的面号码 int ne_id,n

2010-11-17 20:10:00 508

原创 dij+优先队列POJ_3662

<br />http://poj.org/problem?id=3662<br />/*题意:在一个农场里,要连接1到n的一条线路,现在有k条是免费的,剩下取最大值即为要付的钱,现在给你一个农场图,要你求出最小的值,如果没有这个值输出-1dp+优先队列dp[i][j]表示到农场j用了i条免费线路所要发的钱to表示与j连的下一个节点dp[i][to] = min(max(dp[i][j],val), dp[i][to]);dp[i+1][to] = min(dp[i][j], dp

2010-11-16 10:43:00 732

原创 POJ_3160

<br />http://poj.org/problem?id=3160<br />/*题意:一个老师要给学生送礼物,每个学生不在同一宿舍,现在题目一个n个学生,m个边,每个学生有一个值,要你求这个老师能得到的最大值scc+dpdp[i]表示走到节点i能取到的最大值*/#include<iostream>using namespace std;#define MAXN 30005#define MAXM 150005struct Node{ int to;

2010-11-15 16:39:00 939

原创 强连通分支算法

<br />#include<iostream>using namespace std;#define MAXN 10000//最多的点数#define MAXM 10000//最多的边数struct Node{ int to; int next;}graph[MAXM];int head[MAXN];int n, m;//顶点数,边数int low[MAXN], dfn[MAXN];//low[i]表示能回溯到的最小节点,dfn[i]表示访问的顺序int b

2010-11-15 09:42:00 1006

原创 混合图的欧拉回路POJ1637

<br /><br /><br />http://poj.org/problem?id=1637<br />/*题意就是给你一个地图:有无向图,也有有向图,然后叫你能不能找出一条路径,看是否全部走完,其实就是求混合图的欧拉回路解题思路:求混合图的欧拉回路就是用网络流来解决1. 把该图的无向边随便定向,计算每个点的入度和出度。如果有某个点出入度之差为奇数,那么肯定不存在欧拉回路。因为欧拉回路要求每点入度 = 出度, 也就是总度数为偶数,存在奇数度点必不能有欧拉回路。2. 现在

2010-11-15 08:57:00 878

原创 中国剩余定理的使用POJ

<br />http://poj.org/problem?id=2891<br />/*中国剩余定理的使用:首先得到 a1 * x + r1 = m 和 a2 * y + r2 = m,联立得到 a1 * x - a2 * y = r2 - r1,利用extend_gcd解之,先解得a1*X-a2*Y=GCD(a1,a2)时的X Y值和a1,a2的gcd,x y存在整数解的条件是 gcd | r2-r1.是否输出-1就是从这判断。有解即为 x=(r2-r1)/gcd*X

2010-11-13 19:19:00 679

原创 中国剩余定理

<br />说到中国剩余定理就不能不提一些前期的一些知识点:<br />1.利用欧几里得算法求整数系数已从不定方程ax+by = c的解:<br />对于这个不定方程的解有两种程序:<br />(1)无递归的实现方式:<br />//扩展的欧几里得算法无递归程序:__int64 extend_gcd_w_dg(__int64 a, __int64 b, __int64 &x, __int64 &y){ __int64 x0, x1, x2, y0, y1, y2; __int64 r0, r

2010-11-13 15:49:00 706

原创 HDU_3687

<br />http://acm.hdu.edu.cn/showproblem.php?pid=3687/*题意就是:给你一个n*m的方格,然后有n*n的士兵,现在士兵正在休息,然后要集合的时候,需要组成n*n的方正现在给你n*n士兵的休息的位置,要求你求出要集合的时候总的需要多少步数(注意只能在水平上移动);由于只能是水平移动,因此变的很简单了,我一开始以为都要移动最左边去(误解了题意)首先要开对于x排序枚举一开始的列数(枚举法)*/#include<iostream>#i

2010-11-12 23:32:00 935

原创 POJ_2987

<br />http://poj.org/problem?id=2987<br />/*题意:有N个点,每个点有一个权值。有M个关系(A,B),代表A是B的上司。从这个图里面选择一些点,使得权值最大,若选择了A且A是B的上司,则必须选择B。*//*很典型的最大权闭合图问题。将原问题的图转化为最小割模型。第二问就是总盈利-总亏损,即Sum{正权值}-MaxFlow。下面讨论第一问。由于最小割一定只会出现在(S,I)和(I,T)中,且最小割一定是一个可行方案。所以,我们只需要

2010-11-07 13:12:00 777

原创 字典序全排列

<br />//字典序全排列.cpp#include<iostream>#include<string>using namespace std;#define M 100int count;void prin(int *a,int m){ int i; cout<<count++<<": "; for(i=0;i<m-1;i++) cout<<a[i]<<" "; cout<<a[m-1]<<endl;}void genperm(int *a,int

2010-11-06 20:03:00 469

原创 整数点与Pick定理

<br />//Pick定理 设已整数点为顶点的多边形的面积为S,多边形内部的整数点为N,多边形边界上的整数点数为L//则 N+1/2 L-1=S#include<stdio.h>#include<math.h>typedef struct Point{ int x,y;}POINT;int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);}int onedge(int n,

2010-11-06 20:02:00 512

原创 无向图的割点算法

<br />//深度优先搜索生成数的根root是图G的割点,当且仅当,root至少有两个节点;//不是深度优先搜索生成树的根的节点v是图G的割点,当且仅当,v的所有后裔都没有后退边与v的祖先顶点相连• #include<stdio.h>• #include<string.h>• #define SIZE 150• #define MAX 0x7fffffff• int map[SIZE][SIZE];• int n;• int low[SIZE];//low[u]表示从u出发

2010-11-06 20:01:00 807

原创 网络流算法

<br />EK算法:<br />• //网络流EK算法• #include<iostream>• #include<queue>• using namespace std;• #define INF 0x7fffffff• #define min(a,b) ((a)<(b)?(a):(b))• int cap[201][201],flow[201][201],a[201];• //cap[][]表示最大容量,flow[][]表示当前流量• int s,t,n,m;•

2010-11-06 20:00:00 425

原创 拓扑排序

<br />//拓扑排序模板(邻接矩阵)表示#include<iostream>using namespace std;#define M 100bool graph[M][M]; //邻接阵 int indegree[M]; //记录顶点的入度 int n;//n为顶点个数 void topsort(){ int i,j,k; for(i=1;i<=n;++i) //遍历n次每次找出一个顶点 { for(j=1;j<=n

2010-11-06 19:58:00 370

原创 凸包问题

<br />计算凸包直径:<br />#include <cmath>#include <algorithm>#include <iostream>using namespace std;#define MAXN 50005struct Point{ int x, y; bool operator < (const Point& _P) const { return y<_P.y||(y==_P.y&&x<_P.x); }

2010-11-06 19:57:00 743

原创 二分图最大权值匹配KM算法

<br />#include <cstdio>#include <climits> #include <iostream> using namespace std; const int MAX = 1024; int n; // X 的大小int weight [MAX] [MAX]; // X 到 Y 的映射(权重) int lx [MAX], ly [MAX]; // 标号bool sx [MAX], sy [MAX]; // 是否被搜索过int match [MAX];

2010-11-06 19:55:00 835

原创 二分图匈牙利算法

<br />#include<stdio.h>#include<string.h>int n1,n2,m,ans;//n1代表集合1的顶点个数,n2,m边数,ans最大匹配数int result[101];//记录V2中的点匹配的点的编号 bool state[101];//记录V2中的每个点是否被搜索过 bool data[101][101];//邻接矩阵 true代表有边相连 void init(){ int t1,t2,i; memset(data,false,si

2010-11-06 19:54:00 395

原创 差分约束系统

<br />//差分约束系统(构建单源最短路径)要用fullman算法,有存在权值为负的边#include<iostream>using namespace std;const int M=120;const int inf=0x7ffff;struct node{ int s,e,v;}edge[M];int n,m,d[M];bool bellman_flody(){ int i,j; for(i=0;i<=n+1;i++) d[i]=inf;

2010-11-06 19:53:00 429

原创 字典树(Trie树)

<br />//trie数(字典树)的简单插入与查找(至少要开四倍的空间)#include <iostream>using namespace std;const int branchNum = 26; //声明常量 int i;struct Trie_node{ bool isStr; //记录此处是否构成一个串。 Trie_node *next[branchNum];//指向各个子树的指针,下标0-25代表26字符 Trie_node():i

2010-11-06 19:52:00 390

原创 RMQ问题

<br />//rmq问题#include <cstdio>#include <cstring>using namespace std;const int maxn=65536,maxf=17;int v1[maxn][maxf];//v1[n][f]表示s[n..n+2^f)中的最大值int v2[maxn][maxf];//v2[n][f]表示s[n..n+2^f)中的最大值int N,Q;inline int max(int a,int b){return a>

2010-11-06 19:51:00 386

原创 最小生成树算法模板

//kruskal算法模板#include#includeusing namespace std;#define M 100 //最多边数#define N 100 //最多顶点数typedef struct edge{ int a; int b; int value;}edge;edge edges[M];int final[N]; //存储父节点 int nodecount[N]; //存储该节

2010-11-06 19:50:00 757

原创 Plóya定理

<br />• //Plóya定理的应用,要记得考虑是否要考虑旋转或者翻转等问题• #include<stdio.h>• #include<math.h>• int gcd(int a,int b)• {• if(b==0)• return a;• else• return gcd(b,a%b);• }• int main()• {• // freopen("in.txt","r",stdin);• int c, s, i;• __in

2010-11-06 19:49:00 441

原创 最短路径算法总结

<br />//Dijkstra(邻接矩阵)模板#include<iostream>using namespace std;#define M 100int maxData=10000000;int graph[M][M];int d[M];int pre[M]; //存储节点前驱 bool final[M];int t,n;void Dij(int src){ int i,j; int minData; in

2010-11-06 19:48:00 520

原创 AC自动机算法

/*程序说明:多模式串匹配的AC自动机算法此题通过hdu 2222自动机算法可以参考《柔性字符串匹配》里的相应章节,讲的很清楚*/#include #include const int MAXQ = 500000+10;const int MAXN = 1000000+10;const int MAXK = 26; //自动机里字符集的大小 struct TrieNode{ TrieNode* fail; TrieNode* next[M

2010-11-06 19:43:00 475

原创 POJ_2455

<br />http://poj.org/problem?id=2455<br />ISAP算法:<br />//题目类型:最大流+二分搜索 //本题的关键在于理解题意:本题不是求最短路,而是要求路上的最长的一部分最小,故可以用二分法解决,至于路的条数,则可以求图的最大流 #include <iostream>#include <queue>//#include <conio.h>using namespace std;#define parray 40001#define na

2010-11-04 16:56:00 514

原创 ISAP算法 POJ_3469

<br />http://poj.org/problem?id=3469<br />SAP算法<br />关于网络流的定义之类可以到nocow寻找,这里不在阐述。<br />SAP算法(by dd_engi):求最大流有一种经典的算法,就是每次找增广路时用BFS找,保证找到的增广路是弧数最少的,也就是所谓的Edmonds-Karp算 法。可以证明的是在使用最短路增广时增广过程不超过V*E次,每次BFS的时间都是O(E),所以Edmonds-Karp的时间复杂度就是 O(V*E^2)。<br />如果能让每次

2010-11-03 19:33:00 1163

原创 POJ_1986

<br />http://poj.org/problem?id=1986<br />//最近公共祖先算法#include<stdio.h>#include<string.h>#define MAXN 40010#define MAXK 10010struct Edge{ int v, w, next;}e1[2*MAXN], q[2*MAXN];int head1[MAXN], head2[MAXN], parent[MAXN], d[MAXN];int ans[MA

2010-11-02 13:27:00 1209 1

原创 并查集的高级应用POJ_1984

<br />http://poj.org/problem?id=1984<br />/*题意:给出点数和边数 已知每一条边的起点终点编号和方向 几个Query,每个Query求两个编号的点在第 I 步之后的曼哈顿距离将Query按操作步数的大小排序,从小到大遍历每个操作,执行并集函数,然后如果这步有Query则对Query的两个点执行查集函数,如果在一个集合当中,他们的曼哈顿距离即为他们的父亲结点的曼哈顿距离,否则输出-1并集函数写法:如果

2010-11-02 12:47:00 800

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除