原创 天梯賽練習 正整數A+B

題的目標很簡單,就是求兩個正整數A和B的和,其中A和B都在區間[1,1000]。稍微有點麻煩的是,輸入並不保證是兩個正整數。 輸入格式: 輸入在一行給出A和B,其間以空格分開。問題是A和B不一定是滿足要求的正整數,有時候可能是超出範

原创 CCCC練習 5-10樹的遍歷

給定一棵二叉樹的後序遍歷和中序遍歷,請你輸出其層序遍歷的序列。這裏假設鍵值都是互不相等的正整數。 輸入格式: 輸入第一行給出一個正整數NN(\le 30≤30),是二叉樹中結點的個數。第二行給出其後序遍歷序列。第三行給出其中

原创 poj3071 Football

/* 概率dp,位運算 dp[i][j]表示第i輪第j個人贏的概率 dp[i][j]=dp[i-1][j]*sum(dp[i-1][k]*p[j][k])k是第j個人在第i輪遇到的人 可以發現第j個人和第k個人的第i位剛好相反,第i位以下

原创 Codeforces Round #369 (Div. 2) [C] Coloring Trees

/* dp[i][j][k]表示當前處理第i棵樹,第i棵樹是第j種顏色的代價 如果當前值非0,不用處理花費dp[i][c[i][k]=min(dp[i][c[i][k],dp[i-1][j][k-1]) 如果當前值是0,要處理花費dp[i

原创 藍橋杯 2n皇后問題

問題描述   給定一個n*n的棋盤,棋盤中有一些位置不能放皇后。現在要向棋盤中放入n個黑皇后和n個白皇后,使任意的兩個黑皇后都不在同一行、同一列或同

原创 poj3468 線段樹+延遲更新

所謂延遲更新就是,如果某個區間在你要找的那個區間內的話,更新這個節點,同時記下這個節點更新了多少,下次如果要用到這個節點的字節點,再把更新了多少傳給字節點 #include<stdio.h> #include<string.h> #in

原创 poj3565 ants

/* km 最小權匹配 左邊是樹,右邊是螞蟻 */ #include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #include<math.h>

原创 藍橋杯 安慰奶牛

問題描述 Farmer John變得非常懶,他不想再繼續維護供奶牛之間供通行的道路。道路被用來連接N個牧場,牧場被連續地編號爲1到N。每一個牧場都是

原创 hdu5898 odd-even number

/* 求符合連續奇數序列的長度爲偶數,連續偶數序列的長度爲奇數的個數 數位dp,dp[i][j]表示當前在第i位,前一位數的狀態爲j的個數,j有5種

原创 codeforces ZS and The Birthday Paradox

/* 費馬小定理求逆元+勒讓德定理求n!有多少個2+容斥 考慮至少兩個人生日在同一天的逆命題,所有人生日都不在同一天,即 (2^n-1)(2^n-2)...(2^n-(k-1))/2^(n-1)k 對這個式子約分,容易看出對大公約數肯定是

原创 NOIP 乘積最大(dp)

問題描述   今年是國際數學聯盟確定的“2000——世界數學年”,又恰逢我國著名數學家華羅庚先生誕辰90週年。在華羅庚先生的家鄉江蘇金壇,組織了一場

原创 藍橋杯 操作格子(線段樹更新,求和,求最大)

問題描述 有n個格子,從左到右放成一排,編號爲1-n。 共有m次操作,有3種操作類型: 1.修改一個格子的權值, 2.求連續一段格子權值和, 3.求

原创 藍橋杯 擺動序列(df

#include <stdio.h> #include <string.h> int a[100];//擺動數組 int vis[100]; int k; int ans; bool judge(int x,int Index) {

原创 藍橋杯 查找整數

問題描述 給出一個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。 輸入格式 第一行包含一個整數n。 第二行包含n個非負整數,爲給定的數列

原创 藍橋杯 01字符串

問題描述 對於長度爲5位的一個01串,每一位都可能是0或1,一共有32種可能。它們的前幾個是: 00000 00001 00010 00011 00