
ACM
KJBU2
只求看懂题意
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 1676
#include#includeint main(){ int t; scanf("%d",&t); while(t--) { getchar(); int a1[100],a2[100],a3[101],a4[101],a5[101],a6[101],a7[101],a8[100]; //8个数组分别存8个不完原创 2014-07-01 15:28:06 · 834 阅读 · 0 评论 -
UVA 1329 - Corporative Network
求节点到根结点的距离。用一个D数组保存每一个节点到根结点的距离。在I操作的时候路径压缩,更新D数组。#include#includeint abs(int x){return x>0?x:-x;}const int maxn=20000+20;int pa[maxn],d[maxn];int find(int x){ if(pa[x]!=x) { int原创 2015-01-13 09:53:31 · 527 阅读 · 0 评论 -
POJ 3928 Ping pong
题目:有n个人,每个人都有对应的值,现在他们要做游。游戏的规则:3个人一组,必须有一个人的值介于其他两个之间。思路:现在有n个人,用第i个人取个例子。在第i个人的左边,有C个人比第i个人的值小,那么就有(i-1-C)个比第i个人大在第i个人的右边,有D个人比第i个人的值小,那么就有(n-i-D)个比第i个人大那么左边小右边大的组合有:C*(n-i-D)个那么左边大右边小原创 2015-01-13 19:16:57 · 722 阅读 · 0 评论 -
UVA 11624 - Fire!
先说下题目的意思吧,就是F点表示着火点,然后会向周围扩撒火势,这是就要用到一次BFS。然后J点表示触发点,只有走到宫格的边界才能出去。这是第二次的BFSWA了好几次。后来才发现原来是我的第二次BFS出了一点问题。其中我有一个判断条件是这样的如果这点小于火势达到的点数字,才能走。还有一种情况没有考虑到,那就是这种情况。万一这一个点火势到不了,但是作者可以走,那就走不了这点,原创 2015-02-25 20:33:45 · 507 阅读 · 0 评论 -
HDU(1728+1175) 两道BFS
HDU-1728(逃离迷宫):刚开始怎么做怎么WA。后来看了下别人的写法,才知道 不能以一个点四个方向走,而是朝着一个点的方向走到头。算一个深度。不像DFS那样,往下搜一个就算一个深度。大概意思就是这样。#include#includeconst int maxn=100+10;struct node{ int x,y; int t;}que[maxn*m转载 2015-04-15 18:25:07 · 479 阅读 · 0 评论 -
HDU 5365(不是地球人)
题目给你一些点让你求构成正3、4、5、6边形的有多少。题解:构成正3、5、6边形的不可以是整点。所以题目转换为4点判断是不是正方形。4边相等在加上一个直角就可以了。#include#includestruct node{ int x,y;}a[22];int dis(node a1,node a2){ return (a1.x-a2.x)*(a1.x-a原创 2015-08-09 13:37:14 · 726 阅读 · 0 评论 -
HDU5326-Work (建反图,遍历)
题目:N个员工,给你n-1对关系u,v,表示u是V的上级,问你的u的下级有K个的数量。#include#includeconst int N=100;int nxt[N],pnt[N],head[N];int n,m,e;int in[N];void AddEdge(int x,int y){ pnt[e]=y;nxt[e]=head[x];head[x]=e++;}原创 2015-07-29 16:12:47 · 777 阅读 · 0 评论 -
HDU 5386
题意:由这个状态转换成这个状态。给你m个操作,问你m个操作的顺序。必定可以完成。那么就可以逆向推导。因为一定可以变成这样。#include#includeint num[102][101],num2[102][102];char str[505][2];int m1[505],m2[505];int a[101],b[101];int n,m;void debug()原创 2015-08-17 20:56:42 · 523 阅读 · 0 评论 -
HDU 5399
题意:给你n个数字,m个函数。每个函数满足,f1(f2(⋯fm(i)))=i然后有可能函数的不给你,就是写出来-1.让你自己给-1那行赋值,问你有多少种可能。只有一个-1的时候肯定是1。但是没有-1的时候还要看给你的函数 满不满足条件。-1有k个。1行的种是N!个。最后一个-1可以被其他已经赋值的-1确定。最后结果是N !^(k-1).#include#i原创 2015-08-18 20:11:16 · 638 阅读 · 0 评论 -
UVA 1160 X-Plosives
这道题是一道简单的并查集,题目中说K个混合物只有K个化学品的话。而且两个化学品构成一个混合物。这样的情况的就是化学之间构成了回路,这也符合了并查集的一个特征,判断是否有回路。#include#includeconst int maxn=1e5+100;int pa[maxn];int find(int x){ return pa[x]==x?x:find(pa[x]);原创 2015-01-13 09:05:46 · 554 阅读 · 0 评论 -
UVA 11997 K Smallest Sums(优先队列)
题目:You're given k arrays, each array has k integers. There are kk ways to pick exactly one element in each array and calculate the sum of the integers. Your task is to find the k smallest sums among原创 2015-01-12 10:04:15 · 797 阅读 · 0 评论 -
UVA11464 Even Parity
做法:枚举第一行的所有的情况。然后根据第一行的情况,推出第二行,以此类推然后就是原来矩阵中的1不能变成0.根据前两行推出这一行,就是一个点的上下左右加起来要等于偶数。根据这一个推的。#include#include#includeusing namespace std;const int inf=1<<29;const int maxn=30;int n,ans;in原创 2014-12-03 03:31:38 · 571 阅读 · 0 评论 -
求最长回文子串0(n)manacher算法
这个算法已经学了好几天,刚学的shihou原创 2014-07-22 17:05:02 · 696 阅读 · 0 评论 -
hdu 1052 Tian Ji -- The Horse Racing 贪心算法
贪心初学参考:点击打开链接先将田忌跟齐王的马的速度数组进行一次冒泡排序1、如果田忌最快的马比齐王最快的马快,则比之2、如果田忌最快的马比齐王最快的马慢,则用田最慢的马跟齐最快的马比 //这是贪心的第一步3、如果田忌最快的马的速度与齐威王最快的马速度相等3.1、如果田忌最慢的比齐威王最慢的快,则比之 //这原创 2014-07-02 16:32:29 · 736 阅读 · 0 评论 -
POJ2485-Highways(最小生成树)
题意:给你N个城镇,用最短的告诉告诉公路将他们连接原创 2014-08-22 15:31:39 · 571 阅读 · 0 评论 -
POJ1679-The Unique MST(最小生成树)
DescriptionGiven a connected undirected graph, tell if its minimum spanning tree is unique.Definition 1 (Spanning Tree): Consider a connected, undirected graph G = (V, E). A spanning tree of原创 2014-08-22 15:06:35 · 591 阅读 · 0 评论 -
POJ3268-Silver Cow Party(最短路径)
DescriptionOne cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the big cow party to be held at farm #X (1 ≤X ≤ N). A total of M (1 ≤ M ≤ 100,000) unidirec原创 2014-08-25 14:59:58 · 692 阅读 · 0 评论 -
POJ-3026 Borg Maze(最小生成树)
大概题意:给你y行的字符串,求所有原创 2014-08-17 16:10:41 · 543 阅读 · 0 评论 -
poj2513Colored Sticks(快排-二分-并查集-欧拉路)
题意:就是给你一些木棒,原创 2014-09-01 13:33:20 · 580 阅读 · 0 评论 -
HDU-5105 Math Problem
题意就是求这个函数的最大值。对于三次函数的求大值原创 2014-11-17 20:14:13 · 600 阅读 · 0 评论 -
HDU 5400
题意:问你[1 ,n]之间有多少个连续区间[l,r] 满足存在一个li那么一组数字中只有的区间只有就被分为递增和递减,或者单独的递增,或者单独的递减。有可能两部分的一个点重合。然后这个区间的种数就是(长度+1)*长度/2;#include#includeconst int N=1e5+10;int main(){ int n,d1,d2,a[N],vis[N],vi原创 2015-08-18 20:01:51 · 730 阅读 · 0 评论