#includeusing namespace std;
int dp[200];
int main()
int main()
y=m+1;
while(!su(y))
if(m-x
#includeint main()
; int i,j;
for(i=2; i<32; i++)
int n;
scanf("%d",&n);
while(n--)
}
#include#include#includeusing namespace std;
int du[10002];
int main()
cout<<(count(du,du+m+2,1)+1)/2<
#includeusing namespace std;
int f[22][22];
int main()
cout<
#include"stdio.h"
#include"string.h"
#include"queue"
using namespace std;
#define max(a,b) (a>b?a:b)
#define min(a,b) (aq;
int x,i,v;
int mark1[n],mark2[n];
memset(mark1,0,sizeof(mark1));
memset(mark2,0,sizeof(mark2));
mark1[s]=1;
mark2[n]=1;
q.push(s);
while(!q.empty())}}
q.push(n);
while(!q.empty()) //從終點原路返回起點,即走反向邊}}
int ans=0;
for(i=1;i<=n;i++)
}return ans;
}int main()
memset(head1,-1,sizeof(head1));
memset(head2,-1,sizeof(head2));
e=0;
while(m--)
printf("%d\n",spfa(1,n));
}return 0;
}
#includeusing namespace std;
const int n=1e3+7;
const int mod=1e9+7;
const int inf=0x3f3f3f3f;
typedef long long ll;
struct node
;node g[n];
bool cmp(node x,node y)
cout<
未ac#includeusing namespace std;
const int n=5*1e3+7;
const int mod=1e9+7;
const int inf=0x3f3f3f3f;
typedef long long ll;
int f[n];
void write(int a,int b)
void xie(int a,int b)
int main()
if(i>m) cout<<"0"<>b>>c;xie(b,b+c-1);}}}
return 0;
}
(看的)
/*name:
author:
date: 28/04/13 21:55
description:
剛開始做這道題的時候,第一感覺用線段樹應該很容易實現,結果發現我沒做過此類的線段樹題目
然後上網看了別人的**,才了有點思路,現總結如下:
這道題題意就是旅館訂房問題,由於牽扯到某一段區間的查詢與運算,所以選擇了線段樹求解,
用free表示此段區間房間是否可用,lmax代表這段區間從左邊起最長空閒房間數,rmax表示這段區間
從右邊起最長空閒房間數,tmax表示整個區間上的最長連續空閒房間數,查詢連續空房間數時,過程如下:
1、如果1~n區間的tmax值都比待查長度len小,就無解,否則有解執行2
2、假如區間lmax是否大於等於len,直接返回l ,否則執行3
3、對於每乙個區間,如果它的左兒子的tmax值大於等於len,到左兒子裡去找。否則執行4
4、如果左兒子的rmax加上有兒子的lmax大於等於len,直接返回左兒子的右端點減去左兒子的rmax值。
5、否則到右兒子裡去找。
ps:對於上述過程,如果滿足前面的條件,則不再考慮後面的情況。
更新的時候既進行下壓操作,在對某段區間進行處理後(清空房間或占用房間)後,進行更新父節點,
細節看注釋!!
*/#include#includeconst int n=50010;
using namespace std;
struct nodetree[3*n];
int build(int l,int r,int i)
}int query(int i,int len)
int update(int l,int r,int i,int state)else
}else if(tree[i].r > tree[i].l)
if(tree[i].free==0)
int mid=(tree[i].r+tree[i].l)>>1;
if(mid>=r) update(l,r,i<<1,state);
else if(mid
#includeusing namespace std;
const int n=1e3+7;
const int mod=1e9+7;
const int inf=0x3f3f3f3f;
typedef long long ll;
struct node;node g[n];
int main()
ans=0;
for(i=0;i<=m;i++) if(g[i].n==1) ans++;
if(ans==0)
{for(i=0;i<=m;i++) if(g[i].n>1) break;
cout<<"the winner is "<
素數(第三屆河南省程式設計大賽)
描述 走進世博園某資訊通訊館,參觀者將獲得前所未有的尖端互動體驗,一場充滿創想和喜悅的資訊通訊互動體驗秀將以全新形式呈現,從觀眾踏入展館的第一步起,就將與手持終端密不可分,人類未來夢想的驚喜從參觀者的掌上展開。在等候區的夢想花園中,參觀者便開始了他們奇妙的體驗之旅,等待中的遊客可利用手機等終端參與互...
第三屆河南省程式設計競賽
include include include include includeusing namespace std const int maxn 11000 int main a for int i n i b if ab printf d n num2 else printf d n num1 ...
1016第三屆程式設計大賽 大優惠
include 廈門理工學院 計算機與資訊工程學院 黃潮欽程式描述 第三屆程式設計大賽 大優惠 time limit 1000ms memory limit 65536k total submit 1688 accepted 607 description 中國移動推出最新的手機資費優惠方案,按照這...