原创 算法藝術與信息學競賽的相關題目
一.動態規劃參考資料:劉汝佳《算法藝術與信息學競賽》《算法導論》推薦題目:http://acm.pku.edu.cn/JudgeOnline/problem?id=1141 簡單http://acm.pku.edu.cn/JudgeOnl
原创 zoj 3607
這題當時比賽的時候以爲是dp,以爲客人走了還會回來==! #include<iostream> #include<stdio.h> using namespace std; int main() { int pi[1001],ti[1
原创 zoj 3212
很簡單的題目,不要想多就行 #include<iostream> #include<stdio.h> using namespace std; int main() { int num[16][16]; int t,sum,n,m
原创 zoj 3610
很水的題目,但是沒發現之前,打了很長的代碼#include<iostream> #include<stdio.h> #include<string> using namespace std; int main() { int t;
原创 zoj 3600
#include<iostream> #include<stdio.h> #include<string> using namespace std; int t; double a,b; double run1() { return
原创 zoj 3203
題目 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3366 三分法 #include<iostream> #include<cmath> #include<std
原创 zoj 2972
題目 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2972 #include<iostream> #include<stdio.h> #include<map>
原创 zoj 3211
#include<iostream> #include<stdio.h> #include<algorithm> #include<cstring> using namespace std; struct Node { int ai
原创 zoj 3609
比賽的時候卡在這裏,都是我沒有把題目看懂,m=1的情況沒考慮好,直接當不存在處理了== 下面給一種暴力法 不過時間也是很快的 #include<iostream> #include<cstdio> using namespa
原创 HDU 2546
#include<iostream>//寫的有點出格 #include<algorithm> using namespace std; int dp[1002],a[1002]; int Max(int a,int b) {
原创 KMP與最小覆蓋子串
我對KMP的一些理解(lyp點撥的):pre[i](或next[i])的實質是串str[1..i]的最長且小於i的“相等前、後綴”分別爲str[1..pre[i]](前綴)與str[(i-pre[i]+1)..i](後綴),通俗講就是:
原创 石頭剪刀布
石頭剪刀布1 TimeLimit: 1 Second MemoryLimit: 32 Megabyte Description 放寒假了,x一個人在家很無聊。於是他就想出了一種新的石頭剪刀布玩法(單機版的哦)。 玩法如下:S代表
原创 優先隊列
#include<iostream> #include<functional> #include<queue> #include<vector> using namespace std; struct cmp1 { bool ope
原创 poj 3041
//相關知識點 ¥ 最小覆蓋: 最小覆蓋要求用最少的點(X集合或Y集合的都行)讓每條邊都至少和其中一個點關聯。可以證明:最少的點(即覆蓋數)=最大匹配數 M ¥ 簡單的證明如下: ¥ (1)M個是足夠的。只需要讓
原创 HDU 3415
#include<iostream> using namespace std; int sum[200001]; int a[100001]; int que[200001]; int run(int head,int tail,in