BUAACM 晴天小猪是点赞狂魔

简单题,并且数据还有问题! #include #include #include using namespace std; int main() { int T; long long i, n; cin>>T; while (T--) { cin>>n; long long a; long long t = (n+1) * n / 2; long long k...
阅读(786) 评论(0)

ZOJ1298, POJ1135 Domino Effect

题目大意:         你的任务是编写程序,给定多米诺骨牌游戏,计算最后倒下的是哪一张骨牌、在什么时间倒下。这些多米诺骨牌游戏包含一些“关键牌”,他们之间由一行普通骨牌连接。当一张关键牌倒下时,连接这张关键牌的所有行都开始倒下。当倒下的行到达其他还没倒下的关键骨牌时,则这些关键骨牌也开始倒下,同样也使得连接到它的所有行开始倒下。每一行骨牌可以从两个端点中的任何一张关键牌开始倒下,甚至两个端点...
阅读(462) 评论(0)

Dijkstra 算法介绍以及实现

Dijkstra算法的具体实现方法为: 1. 设置两个顶点的集合T和S: a) S中存放已找到最短路径的顶点,初始时,集合S中只有一个顶点,即源点v0; b) T中存放当前还未找到最短路径的顶点; 2. 在T集合中选取当前长度最短的一条最短路径(v0,…,vk),从而将vk加入到顶点集合S中,并修改源点v0到T中各顶点的最短路径长度;重复这一步骤,直到所有的顶点都加入到集...
阅读(725) 评论(0)

zoj 2048 Highways poj 1751

两题几乎就是一摸一样的,只是输入格式不一样。 #include #include #include #include #include #include using namespace std; const int MAX = 1000; const int INF = 10000010; struct Point { int x,y; } point[MAX]; in...
阅读(669) 评论(0)

zoj 1914 poj 2349 Arctic Network

题目大意:     国防部想在北部的前哨之间建立一个无线网络连接这些前哨。在建立网络时使用了两种不同的通信技术:每个前哨有一个无线电收发器,有一些前哨还有一个卫星频道。     任何两个拥有卫星频道的前哨之间可以直接通过卫星进行通信,而且卫星通信跟距离和位置无关。否则,两个前哨之间通过无线电收发器进行通信,并且这两个前哨之间的距离不能超过D,这个D值取决于无线电收发器的功率。功率越大,D值也就...
阅读(408) 评论(0)

hdu 2089 不要62

#include #include #include using namespace std; int dp[10][3]; int DP(int x) { bool flag = false; int s[15]; int idx = 0, sum = x, ans = 0; for(; x; x /= 10) s[++idx] = x % 10; s[idx+1] =...
阅读(476) 评论(0)

zoj 2158 poj 1789 Truck History (Prim)

题目大意:       高级货物运输公司ACM使用不同类型的卡车。有些卡车用来运蔬菜,有些用来运水果,还有一些用来运砖,等等。该公司对不同的卡车有自己的编码方法。卡车的编码为一个包含7个字符的字符串(每个位置上的字符都有特定的含义,但这一点对本题并不重要)。在ACM公司发展历史上的初期,只有一种卡车可供使用,只有一种卡车类型编码;后来又引进了新的一种卡车类型,新卡车的类型编码是从第一种卡车编码派...
阅读(596) 评论(0)

zoj 1586 QS Network (Prim)

#include #include using namespace std; const int MAXN = 1010; const int INF = 10000010; int Edge[MAXN][MAXN]; int lowcost[MAXN]; int adapter[MAXN]; int n; void Inite() { int i, j; cin>>n; me...
阅读(531) 评论(0)

Prim算法

一、Prim 算法的思想:     普里姆算法的基本思想是以顶点为主导地位:从起始顶点出发,通过选择当前可用的最小权值边依次把其他顶点加入到生成树当中来。 设连通无向网为G(V, E),在普里姆算法中,将顶点集合V分成两个子集合T和T': T:当前生成树顶点集合, T':不属于当前生成树的顶点集合。 很显然有:T∪T'= V。 普里姆算法的具体过程为: 1)  从连通无向网G中选择一...
阅读(610) 评论(0)

poj 2421 Constructing Roads (Kruskal)

#include #include #include using namespace std; const int MAXM = 10050; const int MAXN = 110; struct Edge { int u, v, w; }; Edge edges[MAXM]; int parent[MAXN]; int n, m; void UFset() { int ...
阅读(501) 评论(0)

zoj 1372

#include #include #include #include #include #include #include #include #include #include #define Max(a,b) ((a)>(b)?(a):(b)) #pragma comment(linker, "/STACK:16777216") using namespace std ; ...
阅读(423) 评论(0)

zoj 1406 poj 1251 Jungle Roads

#include #include #include #include using namespace std; const int MAXN = 27; const int MAXM = 100; struct Edge { int u, v, w; }; Edge edges[MAXM]; int parent[MAXN]; int kcount[MAXN]; int Max...
阅读(494) 评论(0)

poj 1861

#include #include #include using namespace std; const int MAXN = 1010; const int MAXM = 15010; struct Edge { int u, v, w; }; Edge edges[MAXM]; int ans[MAXN]; int parent[MAXN], kcount[MAXN]; in...
阅读(389) 评论(0)

最小生成树 Kruskal

Kruskal思想是以边为主导地位,始终都是选择当前权值最小的边。具体算法步骤:    1)  设一个有n个顶点的连通网络为G(V, E),最初先构造一个只有n个顶点,没有边的非连通图T= { V, Ø },图中每个顶点自成一个连通分量。    2)  当在E中选择一条具有最小权值的边时,若该边的两个顶点落在不同的连通分量上,则将此边加入到T中;否则,即这条边的两个顶点落在同一个连通分量上,则...
阅读(539) 评论(0)

hdu 1575 Tr A

#include #include #include using namespace std; const int N = 10; const int modnum = 9973; struct Matrix { int matrix[N][N]; }; Matrix A, I; int n, K; void Inite_Matrix() { scanf("%d%d",&n, &...
阅读(415) 评论(0)
54条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:280286次
    • 积分:7304
    • 等级:
    • 排名:第3352名
    • 原创:471篇
    • 转载:19篇
    • 译文:0篇
    • 评论:18条