原创 “玲瓏杯” 線上賽 Round #5 Variance(線段樹)

1063 -- Variance 線段樹:1.單點更新   2.區間方差 *(r-l+1)^2 ps:方差:Var[x]=E[x^2]-E[x]^2 代碼: #include <bits/stdc++.h> using namespa

原创 藍橋杯 K好數(dp)

K好數 思路:動態規劃即可。狀態:dp[i][j]:=表示第i位以j結尾的K好數。 狀態轉移方程:dp[i][j]=∑dp[i-1][p](p!=j-1&&p!=j+1)(相鄰兩位不能是相鄰的數字)。 代碼: #include<std

原创 Codeforces 663C Graph Coloring(圖染色dfs)

題意: 給出一張圖,每條邊都有一個顏色(要麼是紅色要麼是藍色),如果翻轉一個頂點,那麼這個頂點相鄰的邊都會變色(紅變藍,藍變紅),求使得整個圖變成同色的最小操作數,並且輸出要翻轉哪些頂點。 思路:最小操作數一定是全部變成紅色和全部變成藍

原创 HDU 2089 不要62(數位dp)

不要62 數位不能有4和62,沒有4的話在枚舉的時候判斷一下,而對於62的話,涉及到兩位,當前一位是6或者不是6這兩種不同情況我們計數是不相同的,所以要用狀態來記錄不同的方案數。dp[pos][state]表示當前第pos位,前一位是否

原创 2017 百度之星 複賽 Valley Numer(數位dp)

Valley Numer 數位dp,state標誌前面若干位是否存在遞增序列。 代碼: #include <bits/stdc++.h> using namespace std; typedef long long ll ; con

原创 戰艦蘿莉

1164 - 戰艦蘿莉 暫定。。。 #include <bits/stdc++.h> using namespace std; const int maxn=111111; int add[maxn<<2],sum[maxn<<

原创 青蛙的約會(poj 1061)

青蛙的約會假設:跳x1次後相遇,相遇時路乘差是y1*l(跳了y1圈)列出方程:x+m*x1-(y+n*x1)=y1*l ;化簡爲(n-m)*x1+y1*l=x-y ;代碼:#include<iostream> #include<cstdi

原创 Watchcow(poj 2230)

Watchcow求無向圖每條邊恰好經過兩次,在回到原點,輸出經過的頂點。容易轉化爲有向圖歐拉回路每條邊經過一次。代碼:#include <stdio.h> #include <stack> #include <vector> #inclu

原创 ACM-ICPC Asia Regional Changchun 1008 Sequence I(KMP)

Sequence I 題意:已知序列A和序列B以及p,問有多少個位置q,使得b1,b2,…,bm與恰好匹配。 KMP算法稍作修改即可,next數組部分是不需要修改的,只需要改一下匹配過程,當序列A中的a[i]等於序列B中的b[j]時

原创 Romantic(hdu 2669)

Romantic擴展歐幾里德算法。a*x1+b*y1=1 ;代碼:#include<iostream> #include<cstdio> using namespace std; long long exgcd(lon

原创 John's trip(poj 1041)

John's trip題目大意: 給出無向圖,每條邊有唯一的序號,是否存在歐拉回路,若存在輸出邊序號最小字典序的路徑。下面代碼沒有判斷圖連通,根據題意圖應該聯通了,只需判斷零個奇數點就可以了。代碼:#include <cstdio> #i

原创 Play on Words

Play on Words題意就是給你n個由小寫字母構成的字符串,問你能不能將這n個字符串連接起來,B能接在A後面的條件是A的最後一個字母==B的第一個字母。然後就是將26個小寫字母看成頂點集,對於一個字符串,其首字母向尾字母連一條單向邊

原创 拓撲排序

const int M = 100005; int a[M]; int indegree[M]; int n,m,u,v; vector<int> G[M]; void topo() { memset(indegree,0,siz

原创 歐拉路,迴路

判定:   歐拉路:       有向圖:圖連通,有一點入度>出度,有一點出度>入度,其餘點入度=出度或入度=出度;Play on Words       無向圖:圖連通,零個或兩個奇數度,其餘偶數度;一筆畫問題   歐拉回路:     

原创 2016 ACM/ICPC Asia Regional Qingdao Online 1003(AC自動機)

Family View 題意:給出一系列的敏感詞,如果下面文本以敏感詞作爲子串,那麼輸出'*'。 代碼: #include <bits/stdc++.h> using namespace std; const int MAXN = 1