挑战程序设计
Little_boy_z
这个作者很懒,什么都没留下…
展开
-
poj 1182 食物链 三重并查集问题
#include#includeusing namespace std;int father[150010];int findd(int x){ return father[x]==x ? x : father[x]=findd(father[x]);}bool jiance(int x,int y){ return findd(原创 2018-01-31 20:03:02 · 143 阅读 · 0 评论 -
FZU - 2214 C - Knapsack problem 超大背包
Given a set of n items, each with a weight w[i] and a value v[i], determine a way to choose the items into a knapsack so that the total weight is less than or equal to a given limit B and the total va原创 2018-01-29 19:51:10 · 197 阅读 · 0 评论 -
poj 3414 路径输出的bfs(pre)
#include #include using namespace std; #include #include #include struct cup { int x, y; int step; int flag;//标记操作 cup *pre;//记录路径 }; queueQ原创 2018-01-29 18:45:55 · 172 阅读 · 0 评论 -
poj3984 带路径输出的BFS
#include #include #include #include #include #include #include using namespace std;struct node{ int x, y;};int arr[5][5];bool vis[5][5];int dx[4] = {0, 1,原创 2018-01-29 17:27:21 · 176 阅读 · 0 评论 -
POJ - 1426 Find The Multiple
Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there原创 2018-01-28 21:25:59 · 115 阅读 · 0 评论 -
poj 1852 Ants
DescriptionAn army of ants walk on a horizontal pole of length l cm, each with a constant speed of 1 cm/s. When a walking ant reaches an end of the pole, it immediatelly falls off it. When two ant原创 2018-01-28 18:46:44 · 132 阅读 · 0 评论 -
poj 分桶法和平方分割
#include #include #include #include using namespace std; const int B = 1000 ; const int MAX_N = 100000; int nums[200000]; int L[10000]; int R[10000]; int K[10000]; int原创 2018-02-02 20:33:15 · 237 阅读 · 0 评论 -
二进制枚举法(常用!!)
#include using namespace std;int main(){ int n; cin>>n; for(int i=0;i { for(int j=0;j { if(i>>j&1) { cout原创 2018-02-01 19:45:38 · 344 阅读 · 0 评论 -
超大01背包问题(二分)
#include #include #include using namespace std; const int N = 50; const long long INF = 0x3fffffff; typedef long long LL; int n; LL w[N], v[N]; LL W; pair pi[1原创 2018-02-01 19:41:45 · 849 阅读 · 0 评论 -
poj2785 二分查找
输入n,表示a b c d 四个集合都有n个元素。之后每行输入4个集合中的一个元素。求这四个集合每个集合中拿出一个数相加等于0的组数。思路如果直接搜,复杂度为O(N^3),时间不满足要求。 折半搜索比较适合,把4个数字分成两份,分别两两求和,得到两个长度n*n的一维数组,排序后比较进行匹配即可。 另外这个题还可以用hash,具体参考:POJ2785 4 Values who原创 2018-02-01 19:28:14 · 336 阅读 · 0 评论 -
包含容斥原理+模运算
#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <string> #include <cmath> #define maxn 500 using namespace std; int n...原创 2018-02-22 18:38:23 · 182 阅读 · 0 评论