作為的第一篇...我都不知道要寫什麼了 ...
其實今天很沒狀態,就當吐槽吧...
嗯,被黃神帶去寫treap+可持久化線段樹,然後在可持久化的刪除上面跪了兩天,真的是一跪不起。我已經連續多久沒有ac一道題了?有時候真心會覺得,學一些東西,到達差不多就應該先放手,一次性鑽太深對自己沒好處。其實之前到可持久化結束就可以結束了,還順手搞掉配對堆和替罪羊,已經很不錯了。這時候再來搞什麼可持久化的加深...額有點感覺無效率。加上自己這兩天社團有事,狀態直接變成渣了...自己的錯,都是蒟蒻的藉口罷了。說好每天都要有一點小進步,哪去了...
數字dp
數字dp的概念在這個東西裡面講的很清楚
第一道題寫的是hdu 2089,其實裡面也講了題解...然後,主要是別忘了在計算的時候,x本身沒有被考慮,所以考慮區間的時候應該要 solve(m+1)-solve(n) ...
varview codef:array[0..7,0..9] of
longint;
d:array[0..7] of
longint;
n,m:longint;
function
calc(x:longint):longint;
varsum:longint;
begin
sum:=0
; fillchar(d,sizeof(d),0);
while x>0
dobegin
inc(sum);
d[sum]:= x mod10;
x:= x div10;
end; calc:=sum;
end;
function
solve(x:longint):longint;
varans,len,i,j,k:longint;
begin
ans:=0
; len:=calc(x);
for i:= len downto1do
begin
for j:= 0
to d[i]-1
doif (j<>4) and ((j<>2) or (d[i+1]<>6)) then ans:=ans+f[i,j];
if (d[i]=4) or ((d[i]=2) and (d[i+1]=6)) then
break;
end; solve:=ans;
end;
procedure
init;
vari,j,k:longint;
begin
f[0,0]:=1;
for i:= 1to7
dofor j:= 0to9
dofor k:= 0to9
doif (j<>4) and ((j<>6) or (k<>2)) then f[i,j]:=f[i-1,k]+f[i,j];
end;
begin
init;
readln(n,m);
while (n<>0) or (m<>0) do
begin
writeln(solve(m+1)-solve(n));
readln(n,m);
end;end.
距離GDOI 131天 字尾陣列完畢
用了近兩周的時間,終於把羅神那篇字尾陣列應用看完了,題目也寫了一遍,t了無數次.詳見前幾篇博文.字尾陣列很重要的是那個height陣列,可以用來做各種奇奇怪怪的東西.常用方法去是去二分,比較少見的是單調棧維護.明天把切的12道題題型整理歸納後再補在後面吧,有點晚了.明天覆習ac自動機去!預備 最長公...
GDOI2013模擬1 屏保
平面直角座標系內有n個點,第i個點的座標為 i,hi 順次連線這n個點。現在給出一條直線y h,求這條直線以下的由這條直線和其他線段圍成的圖形的面積。茲瓷單點修改。n 10 5,hi 1000 語文不好,放圖來講講道理。左邊這張圖的答案是3.75,右圖為6.考慮hi和hi 1所連的線段。若h i,那...
GDOI模擬4 24 4 26總結DAY1
day1 第一題,一看就知道是字尾陣列,不過忘記了字尾陣列有乙個東西怎麼線性處理,所以就只能夠暴力搞字尾陣列,所以也只能暴力搞字尾陣列,然後暴力的來求。把height從大到小填進去是乙個很套路的東西,但是只打過一次字尾陣列,對他的用法還不太熟練。所以對於很多省選的知識,由於打得不多,所以很多東西還不...