原创 算法藝術與信息學競賽的相關題目

一.動態規劃參考資料:劉汝佳《算法藝術與信息學競賽》《算法導論》推薦題目: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