原创 Mark一下讀入一行的代碼
getchar(); c=getchar(); while(c!='\n') {
原创 zoj3537 凸包,最優三角形,區間dp
昨天本來只是想刷個區間dp而以,然後碰到了這題 然後就用一下午學了凸包的判定和最優三角形 然後今天花了三個小時把這題AC了,也強化了自己對凸包,最優三角形和區間dp的理解 題意就是給你一個點集,如果這個點集中的點不能全部構成一個凸包的話,
原创 HDU6092(動態規劃思想)
其實咱們都做過給你k個數然後求這k個數有多少個子集的和等於k的題 那麼現在就是反過來了 那麼做法也是很神奇的 對於序列a,我的1的個數就是a[1]的個數 那麼如果我去掉所有的1,並且維護a序列的性質不變,那麼2的個數就是a[2] 那麼問題
原创 HDU6015(思維題)
題目意思就是給你一顆樹, Bob可以在樹上染色,就是選擇一個點,並且將其周圍的點塗黑 Alice可以將樹上的一個點塗白 Bob還可以做一個操作,就是剪枝,剪枝之後影響的只是塗黑的操作,就是比如我塗一個點本來可以把周圍的點全部染黑的,現在就
原创 求最短路即次短路模板,一條邊可以重複走的HDU6181
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> #include<iostream> #include<algorithm> #includ
原创 codeforces Round428PC
題意就是給你一棵樹,算他從根走到葉子的期望 這個題目給了我一個很重的教訓,就是我在寫這道題的時候把求期望算成了求平均值 然後就沒寫出來,接着就心態爆炸了 #include <iostream> #include <cstdio> #inc
原创 主席樹靜態查找區間第k小模板(並沒有傑少詳細)即講解
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <cstdlib> #include <cmath> #defi
原创 最大流DFS(EK)算法模板
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <vector> #defin
原创 斯大林數,k個物品,分到m種不同的盒子裏,有幾種分法(保證沒有空盒子)
long long s[maxn][maxn],c[maxn];//存放要求的Stirling數 const long long mod=1e9+7;//取模 void init()//預處理 { memset(s,0,size
原创 數位dp 求l-r(10進制) 在k進制中有多少個迴文數的模板
#include <cstdio> #include <cstring> #include <algorithm> #include <iostream> using namespace std; #define LL long long
原创 卡特蘭數及其應用
摘自維基百科 Cn的另一個表達形式爲 遞推關係 {\displaystyle C_{0}=1\quad {\mbox{and}}\quad C_{n+1}=\sum _{i=0}^{n}C_{i}\,C_{n-i}\quad {
原创 廣西邀請賽PD(dp+矩陣加速)
這個題目也是很不容易啊,一直堅持不懈的推了一天,終於自己寫出來了 題意很簡單這裏就不說了 其實我們發現對於每個n只有5種結尾的情況,所以開始就想從這5個情況中找突破口 結果發現要麼會算重要麼會算少 然後就找了16種狀態,就是最後一列的狀態
原创 第三場多校 03 HDU6058
Kanade's sum 這個題目主要的思路是對的 就是計算每個數字出現的次數 然後我發現我們可以對每個數字,往左找k個比他大的,往右找k個比他大的 然後他們的位置之差乘起來就是出現的次數 等下會補個圖詳細解釋下 然而如果我們找
原创 玲瓏杯Round20PE
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <cstdlib> #include <cmath> #defi
原创 最大流,kuangbin的最牛逼的模板
const int MAXN=20010;//點數的最大值 const int MAXM=880010;//邊數的最大值 const int INF=0x3f3f3f3f; struct Node { int from,to,n