差分約束 賬本核算

2021-09-28 15:35:35 字數 1315 閱讀 1030

一本通4.2

任意門

題目:小d接到乙個任務,為稅務部門調查一位商人的賬本,看看賬本是不是偽造的。賬本上記錄了n個月以來的收入情況,其中第i個月的收入額為ai(i=1,2,3,…,n−1,n)。當 ai大於0時表示這個月盈利ai元,當 ai小於0時表示這個月虧損ai元。所謂一段時間內的總收入,就是這段時間內每個月的收入額的總和。小d的任務是秘密進行的,每次檢視賬本時她都只能看某段時間內賬本上記錄的收入情況,並且她只能記住這段時間內的總收入。現在,小d總共檢視了m次賬本,當然也就記住了m段時間內的總收入,你的任務是根據記住的這些資訊來判斷賬本是不是假的。

題解:明顯 維護字首和

(剛開始我沒想到)

轉換成數學語言:

s i−

sj−1

=c

s_i-s_=c

si​−sj

−1​=

c再轉成三角不等式:

s i≥

sj−1

+c

s_i\geq s_+c

si​≥sj

−1​+csj

−1≥s

i−

cs_\geq s_i-c

sj−1​≥

si​−

c

#include

using

namespace std;

const

int n=

5e5+

10,m=

5e5+

10,inf=

1e9;

int s,n,m;

int head[n]

,nex[m]

,to[m]

,val[m]

,tot;

void

build

(int u,

int v,

int w)

int vis[n]

,dis[n]

;bool

dfs(

int u)

//printf("\n");

}vis[u]=0

;return1;

}void

init()

intmain()

for(

int i=

0;i<=n;i++

)build

(s,i,0)

;//if(

!dfs

(s))

printf

("false\n");

else

printf

("true\n");

}}

Schwinn賬本 約束

1.主鍵 為了讓資料庫將id識別為主鍵,應新增主鍵約束 主鍵約束自帶非空和唯一屬性,即不能插入空亦不可重複 eg.alter table category add constraint pk category id primary key id alter table category 表修改表ca...

POJ3169差分約束 SPFA 差分約束

思路 假設i j 兩隻奶牛可以站在同乙個位置,但是必須公升序排列,所以有差分約束方程d i d i 1 0 對於兩隻有好感的奶牛有差分約束方程d j d i k 對於兩隻反感的奶牛有差分約束方程d i d j k 有了約束方程就可以spfa include include include inclu...

分糖果 差分約束

description 幼兒園裡有n 個小朋友,lxhgww 老師現在想要給這些小朋友們分配糖果,要求每個小朋友都要分到糖果。但是小朋友們也有嫉妒心,總是會提出一些要求,比如小明不希望小紅分到的糖果比他的多,於是在分配糖果的時候,lxhgww 需要滿足小朋友們的 k個要求。幼兒園的糖果總是有限的,l...