锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧美在线播放,国产在线视频欧美一区二区三区,国产精品女主播一区二区三区http://www.shnenglu.com/CSniper/zh-cnSat, 15 Nov 2025 20:39:28 GMTSat, 15 Nov 2025 20:39:28 GMT60[DP] PKU 1141 鎷彿搴忓垪http://www.shnenglu.com/CSniper/archive/2012/10/11/193163.htmlyajunwyajunwThu, 11 Oct 2012 05:57:00 GMThttp://www.shnenglu.com/CSniper/archive/2012/10/11/193163.htmlhttp://www.shnenglu.com/CSniper/comments/193163.htmlhttp://www.shnenglu.com/CSniper/archive/2012/10/11/193163.html#Feedback0http://www.shnenglu.com/CSniper/comments/commentRss/193163.htmlhttp://www.shnenglu.com/CSniper/services/trackbacks/193163.htmlDP, 璁板綍璺緞銆?br />
#聽include聽<stdio.h>
#聽include聽
<string.h>

#聽define聽N聽
205
#聽define聽INF聽
1000000000
#聽define聽Mid聽(
1<<10)
#聽define聽Lft聽(
1<<9聽)
#聽define聽Rgt聽(
1<<8聽)

char聽buf[N];
int聽f[N][N],聽p[N][N];

int聽dp(int聽x,聽int聽y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int&聽ans聽=聽f[x][y];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(ans聽!=-1)聽return聽ans;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(x聽>聽y)聽return聽ans聽=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=聽INF;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽(buf[x]=='('&&buf[y]==')')聽||
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽(buf[x]
=='['&&buf[y]==']')聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(ans聽>聽dp(x+1,聽y-1))
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽p[x][y]聽
=聽Mid;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=聽f[x+1][y-1];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽buf[x]=='('||聽buf[x]=='['聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(ans聽>聽dp(x+1,聽y)+1)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽p[x][y]聽
=聽Rgt;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=聽f[x+1][y]聽+1;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽buf[y]==')'||聽buf[y]==']'聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(ans聽>聽dp(x,聽y-1)+1)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽p[x][y]聽
=聽Lft;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=聽f[x][y-1]聽+1;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(int聽i聽=聽x;聽i聽<聽y;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(ans聽>聽dp(x,聽i)+dp(i+1,聽y))
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽p[x][y]聽
=聽i;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=聽f[x][i]聽+聽f[i+1][y];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽ans;
}

void聽print(int聽s,聽int聽t)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
switch(p[s][t])
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
case聽Mid:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽putchar(buf[s]),聽print(s
+1,聽t-1),聽putchar(buf[t]);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
case聽Lft:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(buf[t]聽==')')
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽putchar(
'('),聽print(s,聽t-1),聽putchar(')');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
else
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽putchar(
'['),聽print(s,聽t-1),聽putchar(']');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
case聽Rgt:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(buf[s]聽=='(')
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽putchar(
'('),聽print(s+1,聽t),聽putchar(')');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
else
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽putchar(
'['),聽print(s+1,聽t),聽putchar(']');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
case0:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(int聽i聽=聽s;聽i聽<=聽t;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽putchar(buf[i]);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
default:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽print(s,聽p[s][t]),聽print(p[s][t]
+1,聽t);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
}

int聽main()
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽n;

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽buf[
0]聽=0,聽scanf("%s",聽buf+1);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽memset(f,聽
-1,聽sizeof(f));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽memset(p,聽
0,聽sizeof(p));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽n聽
=聽strlen(buf+1);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽dp(
1,聽n),聽print(1,聽n),聽putchar('\n');

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return0;
}



yajunw 2012-10-11 13:57 鍙戣〃璇勮
]]>
[DP] PKU 1181 媯嬬洏鍒嗗壊http://www.shnenglu.com/CSniper/archive/2012/10/11/193160.htmlyajunwyajunwThu, 11 Oct 2012 04:14:00 GMThttp://www.shnenglu.com/CSniper/archive/2012/10/11/193160.htmlhttp://www.shnenglu.com/CSniper/comments/193160.htmlhttp://www.shnenglu.com/CSniper/archive/2012/10/11/193160.html#Feedback0http://www.shnenglu.com/CSniper/comments/commentRss/193160.htmlhttp://www.shnenglu.com/CSniper/services/trackbacks/193160.htmldp
#聽include聽<stdio.h>
#聽include聽
<string.h>
#聽include聽
<math.h>

#聽define聽M聽(
8+3)
#聽define聽N聽(
14+3)
#聽define聽INF聽
1000000000

int聽n,聽m聽=8;
int聽a[M][M];
int聽s[M][M];
int聽f[N][M][M][M][M];

int聽Min(int聽x,聽int聽y)聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽x<y聽?聽x:y;
}
int聽cal(int聽x1,聽int聽y1,聽int聽x2,聽int聽y2)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽ret聽=聽s[x2][y2]+s[x1-1][y1-1]-s[x1-1][y2]-s[x2][y1-1];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽ret聽*聽ret;
}
void聽pre(void)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽i,聽j,聽t;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=1;聽i聽<=聽m;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(j聽=1;聽j聽<=聽m;聽++j)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d",聽&a[i][j]);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=0;聽i聽<聽N;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽s[i][
0]聽=聽s[0][i]聽=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=1;聽i聽<=聽m;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽t聽
=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(j聽=1;聽j聽<=聽m;聽++j)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽t聽
+=聽a[i][j];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽s[i][j]聽
=聽t聽+聽s[i-1][j];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽memset(f,聽
-1,聽sizeof(f));
}

int聽dp(int聽k,聽int聽x1,聽int聽y1,聽int聽x2,聽int聽y2)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽i,聽j;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int&聽ans聽=聽f[k][x1][y1][x2][y2];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(ans聽!=-1)return聽ans;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(k聽==1)聽return聽ans聽=聽cal(x1,聽y1,聽x2,聽y2);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=聽INF;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=聽x1;聽i聽<聽x2;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=聽Min(聽ans,聽Min(聽dp(k-1,聽x1,聽y1,聽i,聽y2)+cal(i+1,聽y1,聽x2,聽y2),
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽dp(k
-1,聽i+1,聽y1,聽x2,聽y2)+cal(x1,聽y1,聽i,聽y2)聽)聽);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(j聽=聽y1;聽j聽<聽y2;聽++j)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=聽Min(聽ans,聽Min(聽dp(k-1,聽x1,聽y1,聽x2,聽j)+cal(x1,聽j+1,聽x2,聽y2),
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽dp(k
-1,聽x1,聽j+1,聽x2,聽y2)+cal(x1,聽y1,聽x2,聽j)聽)聽);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽ans;
}

void聽solve(void)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
double聽ans;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=聽(聽1.0*dp(n,聽1,聽1,聽8,聽8)聽)/(聽1.0*n聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
-聽(1.0*s[8][8]/n)*(1.0*s[8][8]/n);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽printf(
"%.3f\n",聽sqrt(ans)聽);
}

int聽main()
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d",聽&n);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽pre();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽solve();

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return0;
}



yajunw 2012-10-11 12:14 鍙戣〃璇勮
]]>
problem 1008 Chengduhttp://www.shnenglu.com/CSniper/archive/2012/09/16/190889.htmlyajunwyajunwSun, 16 Sep 2012 09:06:00 GMThttp://www.shnenglu.com/CSniper/archive/2012/09/16/190889.htmlhttp://www.shnenglu.com/CSniper/comments/190889.htmlhttp://www.shnenglu.com/CSniper/archive/2012/09/16/190889.html#Feedback0http://www.shnenglu.com/CSniper/comments/commentRss/190889.htmlhttp://www.shnenglu.com/CSniper/services/trackbacks/190889.html
#聽include聽<cstdio>
#聽include聽
<algorithm>

#聽define聽N聽
100005

typedef聽__int64聽LL;

int聽n;
int聽a[N],聽b[N],聽r[N];
bool聽cmp(int聽x,聽int聽y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽a[x]-b[y]聽==聽a[y]-b[x]聽?聽a[x]>a[y]聽:聽a[x]-b[y]>a[y]-b[x];
}
int聽main()
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽freopen(
"in.txt",聽"r",聽stdin);

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽i;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽LL聽w,聽ans;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(~scanf("%d",聽&n))
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=0;聽i聽<聽n;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d%d",聽&a[i],聽&b[i]),聽r[i]聽=聽i;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽std::sort(r,聽r
+n,聽cmp);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽w聽
=聽a[聽r[n-1]聽];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=聽n-2;聽i聽>=0;聽--i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(ans聽<聽w-(LL)b[聽r[i]聽])聽ans聽=聽w聽-聽(LL)b[聽r[i]聽];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽w聽
+=聽(LL)a[聽r[i]聽];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽printf(
"%I64d\n",聽ans);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return0;
}



yajunw 2012-09-16 17:06 鍙戣〃璇勮
]]>
2011 South Pacific Regional Contest E -- RealPhobiahttp://www.shnenglu.com/CSniper/archive/2012/09/15/190783.htmlyajunwyajunwSat, 15 Sep 2012 09:26:00 GMThttp://www.shnenglu.com/CSniper/archive/2012/09/15/190783.htmlhttp://www.shnenglu.com/CSniper/comments/190783.htmlhttp://www.shnenglu.com/CSniper/archive/2012/09/15/190783.html#Feedback0http://www.shnenglu.com/CSniper/comments/commentRss/190783.htmlhttp://www.shnenglu.com/CSniper/services/trackbacks/190783.html

# include <stdio.h>

typedef long long int LL;

/***************************************/
LL Min(LL x, LL y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return x < y ? x : y;
}
LL Max(LL x, LL y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return x > y ? x : y;
}
LL gcd(LL x, LL y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (!y) return x;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return gcd(y, x%y);
}
LL ex_gcd(LL a,LL b,LL &x,LL &y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if(b==0)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 x=1;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 y=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return a;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LL g,t;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 g=ex_gcd(b,a%b,x,y);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 t=x;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 x=y;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 y=t-a/b*y;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return g;
}
LL niyuan(LL b,LL p)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LL x,y;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ex_gcd(b,p,x,y);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return x=(x%p+p)%p;
}
/***************************************/
struct frac
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LL n, d;
} ;
LL A, B, C, D;
LL LLabs(LL x)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return x>0 ? x:-x;
}
void slim(frac &x)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LL tmp = LLabs(gcd(x.d, x.n));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 x.d /= tmp;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 x.n /= tmp;
}
frac dif(frac x, frac y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 frac z;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 z.d = x.d * y.d;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 z.n = LLabs(x.n*y.d-x.d*y.n);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 slim(z);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return z;
}
int cmp(frac x, frac y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return x.n*y.d - x.d*y.n>0 ? 1:0;
}
frac cal(frac x, frac y, frac BA)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return cmp(dif(x, BA), dif(y, BA)) ? y:x;
}
void solve(void)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 frac BA;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 BA.n = A, BA.d = B;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LL n1 = niyuan(B, A);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (n1 == 0) n1 = A;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LL d1 = (B*n1-1) / A;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LL d2 = niyuan(A, B);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (d2 == 0) d2 = B;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LL n2 = (A*d2-1) / B;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 frac a, b;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 a.n = n1, a.d = d1;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 b.n = n2, b.d = d2;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 slim(a), slim(b);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 frac ans = cal(a, b, BA);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 printf("%lld/%lld\n", ans.n, ans.d);
}
/***************************************/
int main()
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 freopen("in.txt", "r", stdin);

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int T;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 scanf("%d", &T);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 while (T--)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 scanf("%lld/%lld", &A, &B);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LL tmp = gcd(A, B);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (tmp != 1)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 printf("%lld/%lld\n", A/tmp, B/tmp);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 else solve();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return 0;
}

Bert is a programmer with a real fear of floating point arithmetic. Bert has quite successfully used rational numbers to write his programs but he does not like it when the denominator grows large.

Your task is to help Bert by writing a program that decreases the denominator of a rational number, whilst introducing the smallest error possible. For a rational number A/B, where B > 2 and 0 < A < B, your program needs to identify a rational number C/D such that:

  1. 0 < C < D < B, and
  2. the error | A/B - C/D| is the minimum over all possible values of C and D, and
  3. D is the smallest such positive integer.

Input

The input starts with an integer K ( 1$ \le$K$ \le$1000) that represents the number of cases on a line by itself. Each of the following K lines describes one of the cases and consists of a fraction formatted as two integers, A and B, separated by `/' such that:

  1. B is a 32 bit integer strictly greater than 2, and
  2. 0 < A < B

Output

For each case, the output consists of a fraction on a line by itself. The fraction should be formatted as two integers separated by `/'.

Sample Input

3
1/4
2/3
13/21

Sample Output

1/3
1/2
8/13


yajunw 2012-09-15 17:26 鍙戣〃璇勮
]]>
HDOJ 3641 Treasure Huntinghttp://www.shnenglu.com/CSniper/archive/2012/09/08/189946.htmlyajunwyajunwSat, 08 Sep 2012 08:01:00 GMThttp://www.shnenglu.com/CSniper/archive/2012/09/08/189946.htmlhttp://www.shnenglu.com/CSniper/comments/189946.htmlhttp://www.shnenglu.com/CSniper/archive/2012/09/08/189946.html#Feedback0http://www.shnenglu.com/CSniper/comments/commentRss/189946.htmlhttp://www.shnenglu.com/CSniper/services/trackbacks/189946.html

Input

In the first line is an integer T (1<=T<=50) indicating the number of test cases.
Each test case begins with an integer n (1<=n<=100), then followed n lines. Each line contains two numbers ai and bi (1 <= ai <= 100, 1<=bi<=10000000000000)

Output

For each test case output the result x in one line.

Source
2010 Asia Regional Hangzhou Site Online Contest
#聽include聽<stdio.h>
#聽include聽
<string.h>
#聽include聽
<math.h>

#聽define聽N聽
101
typedef聽
longlongint聽LL;

int聽n;
/*******************************************************/
int聽p[50],聽top聽=0;
int聽isPrime(int聽x)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽i;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(x%2==0)聽return聽x==2;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(x%3==0)聽return聽x==3;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(x%5==0)聽return聽x==5;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=7;聽i聽<聽x;聽i聽+=5)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(x%i聽==0)聽return0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return1;
}

void聽pre(void)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽i;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=2;聽i聽<聽N;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(isPrime(i))聽p[top++]聽=聽i;
}
/*******************************************************/
LL聽pn[
50];
void聽init(void)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽i,聽j,聽x;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽LL聽cnt;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽LL聽num;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽memset(pn,聽
0,聽sizeof(pn));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d",聽&n);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=0;聽i聽<聽n;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d%I64d",聽&x,聽&num);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(j聽=0;聽j聽<聽top;聽++j)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(x%p[j]聽==0)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽cnt聽
=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(x%p[j]==0)聽++cnt,聽x/=p[j];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽pn[j]聽
+=聽cnt*num;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
}
LL聽Max(LL聽x,聽LL聽y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽x>y聽?聽x:y;
}

LL聽mypow(
int聽pr,聽int聽cnt)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽LL聽ret聽
=1;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(cnt聽>0)聽--cnt,聽ret聽*=聽pr;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽ret;
}

LL聽cal(
int聽pr,聽LL聽tot)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽tmp;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽LL聽ppow聽
=0,聽temp;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(tot聽>0)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽tmp聽
=聽(int)floor(log(tot*(pr-1)+1)/log(pr))+1;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽((mypow(pr,聽tmp)-1)/(pr-1)聽>聽tot)聽--tmp;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽temp聽
=聽mypow(pr,聽tmp);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ppow聽
+=聽temp;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽tot聽
-=聽(temp-1)/(pr-1);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽ppow;
}
void聽solve(void)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽i;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽LL聽ans聽
=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=0;聽i聽<聽top;聽++i)聽if聽(pn[i]聽!=0)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=聽Max(ans,聽cal(p[i],聽pn[i]));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽printf(
"%I64d\n",聽ans);
}

int聽main()
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽T;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽pre();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d",聽&T);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(T--)聽init(),聽solve();

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return0;
}



yajunw 2012-09-08 16:01 鍙戣〃璇勮
]]>
[鏍戠姸鏁扮粍] PKU 2299 Ultra-QuickSorthttp://www.shnenglu.com/CSniper/archive/2012/09/02/189160.htmlyajunwyajunwSun, 02 Sep 2012 09:53:00 GMThttp://www.shnenglu.com/CSniper/archive/2012/09/02/189160.htmlhttp://www.shnenglu.com/CSniper/comments/189160.htmlhttp://www.shnenglu.com/CSniper/archive/2012/09/02/189160.html#Feedback0http://www.shnenglu.com/CSniper/comments/commentRss/189160.htmlhttp://www.shnenglu.com/CSniper/services/trackbacks/189160.html
#聽include聽<stdio.h>
#聽include聽
<string.h>
#聽include聽
<algorithm>
usingnamespace聽std;

#聽define聽N聽
500005

typedef聽
longlongint聽LL;
int聽n;
LL聽a[N];
int聽r[N],聽s[N],聽c[N];
/***************************************************/
int聽getsum(int聽x)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽ret聽=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(x聽>0)聽ret聽+=聽c[x],聽x聽聽-=聽x&(-x);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽ret;
}
void聽inc(int聽x)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(x聽<=聽n)聽++聽c[x],聽x聽+=聽x&(-x);
}
/***************************************************/
bool聽cmp(int聽x,聽int聽y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽a[x]聽>聽a[y];
}
int聽main()
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽LL聽ans;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽i;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(scanf("%d",聽&n),聽n)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽memset(c
+1,聽0,聽sizeof(c[0])*n);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=0;聽i聽<聽n;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽r[i]聽
=聽i,聽scanf("%lld",聽&a[i]);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽sort(r,聽r
+n,聽cmp);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=0;聽i聽<聽n;聽++i)聽s[r[i]]聽=聽i;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=0;聽i聽<聽n;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
+=聽getsum(s[i]+1),聽inc(s[i]+1);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽printf(
"%lld\n",聽ans);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return0;
}



yajunw 2012-09-02 17:53 鍙戣〃璇勮
]]>
[鏍戠姸鏁扮粍] PKU 2155 Matrixhttp://www.shnenglu.com/CSniper/archive/2012/09/02/189157.htmlyajunwyajunwSun, 02 Sep 2012 09:29:00 GMThttp://www.shnenglu.com/CSniper/archive/2012/09/02/189157.htmlhttp://www.shnenglu.com/CSniper/comments/189157.htmlhttp://www.shnenglu.com/CSniper/archive/2012/09/02/189157.html#Feedback0http://www.shnenglu.com/CSniper/comments/commentRss/189157.htmlhttp://www.shnenglu.com/CSniper/services/trackbacks/189157.html
#聽include聽<stdio.h>
#聽include聽
<string.h>

#聽define聽N聽
1005

int聽n,聽c[N][N];
void聽clr(int聽nn)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽i;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=1;聽i聽<=聽nn;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽memset(c[i]
+1,聽0,聽sizeof(c[0][0])*nn);
}
/******************************************************************/
void聽inc(int聽x,聽int聽y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽t;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(x聽<=聽n)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽t聽
=聽y;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(t聽<=聽n)聽++聽c[x][t],聽t聽+=聽t&(-t);//聽printf("%d\n",聽t);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽x聽+=聽x&(-x);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
}
int聽getsum(int聽x,聽int聽y)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽t,聽ret聽=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(x聽>0)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽t聽
=聽y;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(t聽>0)聽ret聽+=聽c[x][t],聽t聽-=聽t&(-t);//聽printf("%d\n",聽t);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽x聽-=聽x&(-x);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽ret;
}
/******************************************************************/
int聽main()
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
char聽ins[3];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽X,聽T,聽x0,聽y0,聽x1,聽y1;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d",聽&X);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(X--)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d%d",聽&n,聽&T),聽clr(n);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(T--)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%s%d%d",聽ins,聽&x0,聽&y0);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
switch(ins[0])
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
case'C':
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d%d",聽&x1,聽&y1);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽inc(x0,聽y0);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽inc(x0,聽y1
+1);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽inc(x1
+1,聽y0);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽inc(x1
+1,聽y1+1);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
case'Q':聽puts((getsum(x0,聽y0)&0x1)聽?"1":"0");聽break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(X)聽putchar('\n');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return0;
}



yajunw 2012-09-02 17:29 鍙戣〃璇勮
]]>
[鏍戠姸鏁扮粍] PKU 3067 Japanhttp://www.shnenglu.com/CSniper/archive/2012/09/02/189134.htmlyajunwyajunwSun, 02 Sep 2012 05:53:00 GMThttp://www.shnenglu.com/CSniper/archive/2012/09/02/189134.htmlhttp://www.shnenglu.com/CSniper/comments/189134.htmlhttp://www.shnenglu.com/CSniper/archive/2012/09/02/189134.html#Feedback0http://www.shnenglu.com/CSniper/comments/commentRss/189134.htmlhttp://www.shnenglu.com/CSniper/services/trackbacks/189134.html
#聽include聽<stdio.h>
#聽include聽
<string.h>
#聽include聽
<algorithm>

usingnamespace聽std;

#聽define聽B聽
1005
#聽define聽N聽
1000005

int聽n,聽m,聽k,聽a[B];
int聽r[N],聽x[N],聽y[N];
bool聽cmp(int聽i,聽int聽j)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽x[i]^x[j]聽?聽x[i]>x[j]聽:聽y[i]>y[j];
}
/********************************************************/
int聽getsum(int聽x)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽ret聽=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(x聽>0)聽ret聽+=聽a[x],聽x聽-=聽x&(-x);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return聽ret;
}
void聽inc(int聽x)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(x聽<=聽m)聽++聽a[x],聽x聽+=聽x&(-x);
}
/********************************************************/
int聽main()
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽ii,聽T,聽i,聽xx;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
longlongint聽ans;

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d",聽&T);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(ii聽=1;聽ii聽<=聽T;聽++ii)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
"%d%d%d",聽&n,聽&m,聽&k);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽memset(a
+1,聽0,聽sizeof(a[0])*m);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=0;聽i聽<聽k;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽r[i]聽
=聽i,聽scanf("%d%d",聽&x[i],聽&y[i]);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽sort(r,聽r
+k,聽cmp);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
=0;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(i聽=0;聽i聽<聽k;聽++i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽ans聽
+=聽getsum(y[r[i]]-1),聽inc(y[r[i]]);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽printf(
"Test聽case聽%d:聽%lld\n",聽ii,聽ans);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return0;
}



yajunw 2012-09-02 13:53 鍙戣〃璇勮
]]>
[鏍戠姸鏁扮粍] PKU 2481 Cowshttp://www.shnenglu.com/CSniper/archive/2012/09/02/189120.htmlyajunwyajunwSun, 02 Sep 2012 03:51:00 GMThttp://www.shnenglu.com/CSniper/archive/2012/09/02/189120.htmlhttp://www.shnenglu.com/CSniper/comments/189120.htmlhttp://www.shnenglu.com/CSniper/archive/2012/09/02/189120.html#Feedback0http://www.shnenglu.com/CSniper/comments/commentRss/189120.htmlhttp://www.shnenglu.com/CSniper/services/trackbacks/189120.html 聽1#聽include聽<cstdio>
聽2#聽include聽<cstring>
聽3#聽include聽<algorithm>
聽4usingnamespace聽std;
聽5
聽6#聽define聽B聽100005
聽7#聽define聽N聽100005
聽8
聽9struct聽Intv聽{int聽s,聽e;};
10
11Intv聽c[N];
12int聽n,聽a[B],聽r[N],聽le[N];
13
14bool聽cmp(constint聽x,聽constint聽y)
15{
16聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(c[x].s聽==聽c[y].s)聽return聽c[x].e聽>聽c[y].e;
17聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽c[x].s聽<聽c[y].s;
18}
19/**************************************************/
20int聽getsum(int聽x)
21{
22聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽int聽ret聽=0;
23聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽while聽(x聽>0)聽ret聽+=聽a[x],聽x聽-=聽x&(-x);
24聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return聽ret;
25}
26void聽inc(int聽x)
27{
28聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽while聽(x聽<=聽B)聽++a[x],聽x聽+=聽x&(-x);
29}
30/**************************************************/
31int聽main()
32{
33聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽int聽i,聽n,聽x;
34
35聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽while聽(scanf("%d",聽&n),聽n)
36聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
37聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽memset(a,聽0,聽sizeof(a));
38聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽for聽(i聽=0;聽i聽<聽n;聽++i)
39聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽r[i]聽=聽i,聽scanf("%d%d",聽&c[i].s,聽&c[i].e);
40聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽sort(r,聽r+n,聽cmp);
41聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽for聽(i聽=0;聽i聽<聽n;聽++i)
42聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
43聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽x聽=聽c[r[i]].e聽+1,聽inc(x);
44聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(i聽&&聽c[r[i]].e==c[r[i-1]].e聽&&聽c[r[i]].s==c[r[i-1]].s)
45聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽le[r[i]]聽=聽le[r[i-1]];
46聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽else
47聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽le[r[i]]聽=聽i-getsum(x-1);
48聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
49聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽for聽(i聽=0;聽i聽<聽n;聽++i)
50聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
51聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(i)聽putchar('');
52聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽printf("%d",聽le[i]);
53聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
54聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽putchar('\n');
55聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
56
57聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return0;
58}
59

yajunw 2012-09-02 11:51 鍙戣〃璇勮
]]>
[鏍戠姸鏁扮粍] PKU 3252 Starhttp://www.shnenglu.com/CSniper/archive/2012/09/02/189099.htmlyajunwyajunwSun, 02 Sep 2012 02:21:00 GMThttp://www.shnenglu.com/CSniper/archive/2012/09/02/189099.htmlhttp://www.shnenglu.com/CSniper/comments/189099.htmlhttp://www.shnenglu.com/CSniper/archive/2012/09/02/189099.html#Feedback0http://www.shnenglu.com/CSniper/comments/commentRss/189099.htmlhttp://www.shnenglu.com/CSniper/services/trackbacks/189099.html #聽include聽 < stdio.h >

int 聽a[ 32005 ],聽le[ 15005 ],聽n;
/* ********************************************************* */
int 聽getsum( int 聽x)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int 聽ret聽 = 0 ;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while 聽(x聽 > 0 )聽ret聽 += 聽a[x],聽x聽 -= 聽(x & ( - x));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return 聽ret;
}
void 聽inc( int 聽x)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while 聽(x聽 <= 32005 )聽 ++ 聽a[x],聽x聽 += 聽(x & ( - x));
}
/* ********************************************************* */
int 聽main()
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int 聽i,聽x,聽y;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
" %d " ,聽 & n);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for 聽(i聽 = 0 ;聽i聽 < 聽n;聽 ++ i)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽scanf(
" %d%d " ,聽 & x,聽 & y),聽 ++ x;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
++ 聽le[getsum(x)];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽inc(x);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for 聽(i聽 = 0 ;聽i聽 < 聽n;聽 ++ i)聽printf( " %d\n " ,聽le[i]);

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return 0 ;
}


yajunw 2012-09-02 10:21 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩福利视频| 亚洲欧美日韩久久精品| 美女脱光内衣内裤视频久久网站| 一本色道久久加勒比88综合| 亚洲精品国产品国语在线app| 欧美电影免费观看高清| 欧美二区不卡| 亚洲精品综合| 亚洲欧美日韩视频二区| 久久国产精品黑丝| 狂野欧美性猛交xxxx巴西| 免费欧美在线| 欧美香蕉大胸在线视频观看| 国产伦精品一区二区三区在线观看 | 99精品国产福利在线观看免费| 亚洲人成在线免费观看| 一本大道久久a久久综合婷婷| 亚洲午夜精品一区二区| 欧美在线视频全部完| 欧美成人一区二区三区在线观看 | 国产精品久久97| 国产在线视频欧美一区二区三区| 亚洲经典三级| 欧美一区二区三区视频在线 | 亚洲国产精品成人一区二区 | 伊人色综合久久天天五月婷| 日韩亚洲欧美综合| 久久久女女女女999久久| 91久久精品一区| 欧美一区二区三区视频| 欧美日韩精品免费观看视一区二区 | 影音先锋中文字幕一区| 一本色道久久综合亚洲精品小说| 另类人畜视频在线| 一区二区三区四区五区精品| 久久精品亚洲一区二区| 欧美亚洲第一页| 亚洲精品一区二区三| 欧美一区高清| 在线亚洲一区| 欧美日韩精品一本二本三本| 亚洲国产高清一区二区三区| 久久成人18免费观看| 99精品热视频| 欧美a级大片| 伊人久久久大香线蕉综合直播| 亚洲新中文字幕| 91久久在线| 欧美激情第五页| 亚洲日本va午夜在线影院| 久久久欧美精品| 性欧美1819性猛交| 国产精品视频不卡| 亚洲欧美国产高清va在线播| 日韩亚洲综合在线| 欧美理论视频| 在线一区免费观看| 亚洲精品一区中文| 欧美日韩亚洲一区在线观看| 99精品热视频| 一本色道久久精品| 国产精品成人一区二区艾草| 一区二区三区精品| 在线综合亚洲| 国产精品视频福利| 欧美中文字幕视频在线观看| 亚洲免费视频网站| 国产一区二区久久精品| 另类激情亚洲| 欧美成人资源网| 一区二区高清在线| 亚洲永久视频| 国内在线观看一区二区三区| 美女主播一区| 欧美美女视频| 欧美一级专区| 六月丁香综合| 宅男噜噜噜66一区二区| 亚洲一区美女视频在线观看免费| 国产欧美日韩在线播放| 免费欧美电影| 欧美日韩综合久久| 久久久久久久999| 欧美wwwwww| 午夜精品久久久久久久99水蜜桃| 亚洲欧美日韩精品久久奇米色影视 | 亚洲精品视频啊美女在线直播| 亚洲欧洲日本在线| 国产欧美日韩精品在线| 欧美有码在线视频| 久久蜜桃香蕉精品一区二区三区| 最新日韩中文字幕| 国产精品你懂的| 久久综合色播五月| 欧美日韩第一区日日骚| 欧美一区二区视频97| 久久艳片www.17c.com| 亚洲视频图片小说| 久久九九久精品国产免费直播| 日韩亚洲欧美一区二区三区| 亚欧成人精品| 一区二区三区日韩欧美精品| 欧美一级二区| 在线视频精品一| 久久亚洲欧美| 午夜免费电影一区在线观看| 欧美成人性生活| 久久精品麻豆| 欧美日韩精品在线播放| 久久亚洲精品一区二区| 国产精品高潮呻吟久久av黑人| 欧美高清在线精品一区| 国产视频一区在线观看| 99精品国产一区二区青青牛奶| 在线日韩av片| 欧美在线1区| 欧美一级艳片视频免费观看| 欧美日韩三区四区| 亚洲国产精品第一区二区| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲激情社区| 91久久精品国产91久久性色tv | 一本久久综合| 日韩视频在线永久播放| 久久亚洲捆绑美女| 久久久久青草大香线综合精品| 国产精品久久二区| 亚洲精品国产精品久久清纯直播| 怡红院精品视频在线观看极品| 亚洲尤物在线| 小黄鸭精品aⅴ导航网站入口| 欧美日韩国产综合新一区| 亚洲激情一区| 亚洲美女视频在线免费观看| 美女任你摸久久| 欧美电影电视剧在线观看| 亚洲国产成人porn| 久久青青草原一区二区| 久久一综合视频| 影音先锋日韩资源| 久久久不卡网国产精品一区| 久久亚洲美女| 亚洲第一黄色| 欧美国产日本韩| 亚洲精品欧美日韩专区| 亚洲视频在线播放| 国产精品久久久免费| 亚洲欧美视频| 免费不卡视频| 日韩视频一区二区三区在线播放 | 欧美激情 亚洲a∨综合| 亚洲第一精品福利| 日韩视频精品| 国产精品日日做人人爱| 亚洲欧洲中文日韩久久av乱码| 久久夜色精品国产噜噜av| 国内精品伊人久久久久av一坑| 久久久久久电影| 欧美激情成人在线| 在线亚洲国产精品网站| 国产精品一区毛片| 久久久久久久久久久一区 | 美女国产一区| 亚洲美女尤物影院| 久久国产精品一区二区| 亚洲国产精品尤物yw在线观看| 欧美精品18+| 亚洲欧美精品suv| 欧美国产欧美综合| 亚洲欧美国产高清va在线播| 国产自产精品| 欧美日韩美女| 久久亚洲国产精品一区二区| 日韩视频不卡| 蜜桃久久精品乱码一区二区| av不卡免费看| 亚洲第一在线| 国产日韩欧美一区在线| 欧美久久久久久蜜桃| 久久精品女人| 亚洲午夜精品| 亚洲精品乱码久久久久久| 老司机成人在线视频| 亚洲综合激情| 91久久久亚洲精品| 国产亚洲欧洲997久久综合| 欧美日韩国产91| 另类综合日韩欧美亚洲| 午夜精品久久久久久久久久久| 亚洲激情女人| 欧美高清视频一区二区三区在线观看 | 亚洲午夜视频| 亚洲欧洲日夜超级视频| 裸体女人亚洲精品一区| 午夜精品在线| 亚洲一区在线观看免费观看电影高清| 国内久久精品视频| 国产欧美一区二区三区在线老狼| 欧美日韩国语| 欧美日韩第一区|