原创 CF611C New Year and Domino

給你一個h行w列的矩陣,‘.’表示空位,‘#’表示非空位,每次詢問給出一個矩形左上頂點和右下頂點,問有多少種方案將一張1*21∗2的“骨牌”擺進這個子矩陣中(每個骨牌會覆蓋相鄰的兩個空位) 輸入樣例#1: 5 8 …#…# .#…

原创 CF1000F One Occurrence(莫隊)

給定一個長度爲n序列,m個詢問,每次詢問給定一個區間[l,r],如果這個區間裏存在只出現一次的數,輸出這個數(如果有多個就輸出任意一個),沒有就輸出0,n,m<=5*10^5 輸入格式: 第一行一個整數n 接下來1行n個小於5*1

原创 帶權二分圖匹配(KM算法)

Problem Description 傳說在遙遠的地方有一個非常富裕的村落,有一天,村長決定進行制度改革:重新分配房子。 這可是一件大事,關係到人民的住房問題啊。村裏共有n間房間,剛好有n家老百姓,考慮到每家都要有房住(如果有老

原创 51nod 1405 樹的距離之和 (樹形dp)

給定一棵無根樹,假設它有n個節點,節點編號從1到n, 求任意兩點之間的距離(最短路徑)之和。 輸入 第一行包含一個正整數n (n <= 100000),表示節點個數。 後面(n - 1)行,每行兩個整數表示樹的邊。 輸出 每行一個

原创 cf 359B

求一個長度爲2n的序列,滿足Σ|a2i−a2i−1|−|Σa2i−a2i−1|=2k 這種帶絕對值的題目套路就是把絕對值拆開。看看n=2時候的情況 [1,2,3,4] |2−1|+|4−3|−|2−1+4−3|=0 swap(1,

原创 cf545(線段樹 + 離散化)

維護一個01串,一開始全部都是0 3種操作 1.把一個區間都變爲1 2.把一個區間都變爲0 3.把一個區間的所有數字翻轉過來 每次操作完成之後詢問區間最小的0的位置 l,r<=10^18 思路:先離散化(注意一定要把1也離散進去)

原创 cf 1042B(狀壓dp)

Berland shop sells n kinds of juices. Each juice has its price ci. Each juice includes some set of vitamins in it.

原创 51nod 1189 階乘分數(數論)

1/N! = 1/X + 1/Y(0<x<=y),給出N,求滿足條件的整數解的數量。例如:N = 2,1/2 = 1/3 + 1/6,1/2 = 1/4 + 1/4。由於數量可能很大,輸出Mod 10^9 + 7。 輸入 輸入一個

原创 cf 910A(單調隊列優化dp)

一隻青蛙現在在一個數軸上,它現在要從點 11 跳到點 nn ,它每次可以向右跳不超過 dd 個單位。比如,它可以從點 xx 跳到點 x+ax+a ( 1<=a<=d )(1<=a<=d) 。特別的,青蛙只能在有百合花的點上停留。保

原创 51nod 1354 選數字 (01揹包問題好題)

當給定一個序列a[0],a[1],a[2],…,a[n-1] 和一個整數K時,我們想找出,有多少子序列滿足這麼一個條件:把當前子序列裏面的所有元素乘起來恰好等於K。 樣例解釋: 對於第一個數據,我們可以選擇[3]或者[1(第一個1

原创 luogu P4781 【模板】拉格朗日插

由小學知識可知,n個點(xi,yi)可以唯一地確定一個多項式 現在,給定n個點,請你確定這個多項式,並將k代入求值 求出的值對998244353取模 #include <bits/stdc++.h> using namespac

原创 cf 220B(莫隊)

小象喜歡和數組玩。現在有一個數組a,含有n個正整數,記第i個數爲ai 現在有m個詢問,每個詢問包含兩個正整數lj和rj(1<=lj<=rj<=n),小象想知道在Alj到Arj之中有多少個數x,其出現次數也爲x 輸入格式 第一行n和

原创 CF 698A

A. Vacations time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard outp

原创 cf 987C

n個位置,每個位置有兩個屬性s,c,要求選擇3個位置i,j,k,使得si<sj<sk,並使得ci+cj+ck 最小 輸入格式: 一行一個整數,n,3<=n<=3000 一行n個整數,即s 再一行n個整數,即c 動態規劃 + 權值線

原创 voohcLUjFb

111