原创 POJ 3757
cost=sigma(fi*ci) vi=pi*bi/(pi+bi); sigma(vi)*t=F; fi=vi*t; cost=simga(ci*fi)=sigma(ci*vi*t)=sigma(ci*vi)*t=sigma(ci*vi
原创 HDU 2966 模板題
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<numeric> #include<cmath> #include<bi
原创 ZOJ 2452
笛卡爾樹的構造 key 和 aux ( 與treap 相同 , 不同在於aux 是給定的) #include <cstring> #include <cstdio> #include <utility> #include <iostre
原创 HDU 4609
實質上是兩個多項式相乘注意去重 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <complex> using name
原创 HDU 4601
廣搜確定各點深度, 並以此沿廣搜順序將點加入數組 Sequence,序列裏的深度逐漸增加,先序遍歷樹並依次編號,確定每個點及其子樹的的編號範圍,在Sequence 中二分查找某一深度的點的左右邊界(Sequence 中的點的編號在某一深度
原创 HDU 4610
搜索加貪心 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <complex> #include <bitset> #
原创 HDU 4603
求出 每對點 LCA 計算距離,然後 直接走到LCA 對其所影響的分支權值根據奇偶性計算先手所能達到的最大權值 #include <cstdio> #include <cstring> #include <iostream> #inclu
原创 bzoj 1251 簡單伸展樹
基本操作 翻轉 成段加上一個數 求區間最值 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #inclu
原创 HDU 4618
#include <cstring> #include <cstdio> #include <algorithm> #include <iostream> using namespace std; const int maxn = 311
原创 HDU 4606
根據線段相交 建圖 求最短路 二分答案 求最小路徑覆蓋 #include <cstdio> #include <cstring> #include <cmath> const int maxn = 311; const double e
原创 HDU 4604
//============================================================================ // Name : I_love_cherry.cpp // Au
原创 Codeforces Round #210 (Div. 1) problem C Levko and Strings
http://codeforces.com/contest/360/problem/C 極好的一道動態規劃, 給定一個小寫字母的字符串 S, 求其相同長度的串T,T中恰包含K個子串字典序大於S中相同位置的子串,求T有幾種,記 DP[ i
原创 HDU 4619
#include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<iostream> using namespace std; const in
原创 HDU 4607
#include <bitset> #include <cstring> #include <cstdio> #include <algorithm> #include <set> #include <vector> #include <
原创 LightOj 1334 - Genes in DNA
很好的KMP題目,正反兩次KMP (利用DFA的知識概念,統計每個節點的失敗節點到根節點的的距離,即代碼中的dis數組) ,接下來的問題就迎刃而解了 #include<iostream> #include<cstdio> #incl