锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧美在线播放,国产在线视频欧美一区二区三区,国产精品女主播一区二区三区http://m.shnenglu.com/CSniper/zh-cnSat, 15 Nov 2025 20:39:28 GMTSat, 15 Nov 2025 20:39:28 GMT60[DP] PKU 1141 鎷彿搴忓垪http://m.shnenglu.com/CSniper/archive/2012/10/11/193163.htmlyajunwyajunwThu, 11 Oct 2012 05:57:00 GMThttp://m.shnenglu.com/CSniper/archive/2012/10/11/193163.htmlhttp://m.shnenglu.com/CSniper/comments/193163.htmlhttp://m.shnenglu.com/CSniper/archive/2012/10/11/193163.html#Feedback0http://m.shnenglu.com/CSniper/comments/commentRss/193163.htmlhttp://m.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://m.shnenglu.com/CSniper/archive/2012/10/11/193160.htmlyajunwyajunwThu, 11 Oct 2012 04:14:00 GMThttp://m.shnenglu.com/CSniper/archive/2012/10/11/193160.htmlhttp://m.shnenglu.com/CSniper/comments/193160.htmlhttp://m.shnenglu.com/CSniper/archive/2012/10/11/193160.html#Feedback0http://m.shnenglu.com/CSniper/comments/commentRss/193160.htmlhttp://m.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://m.shnenglu.com/CSniper/archive/2012/09/16/190889.htmlyajunwyajunwSun, 16 Sep 2012 09:06:00 GMThttp://m.shnenglu.com/CSniper/archive/2012/09/16/190889.htmlhttp://m.shnenglu.com/CSniper/comments/190889.htmlhttp://m.shnenglu.com/CSniper/archive/2012/09/16/190889.html#Feedback0http://m.shnenglu.com/CSniper/comments/commentRss/190889.htmlhttp://m.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://m.shnenglu.com/CSniper/archive/2012/09/15/190783.htmlyajunwyajunwSat, 15 Sep 2012 09:26:00 GMThttp://m.shnenglu.com/CSniper/archive/2012/09/15/190783.htmlhttp://m.shnenglu.com/CSniper/comments/190783.htmlhttp://m.shnenglu.com/CSniper/archive/2012/09/15/190783.html#Feedback0http://m.shnenglu.com/CSniper/comments/commentRss/190783.htmlhttp://m.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://m.shnenglu.com/CSniper/archive/2012/09/08/189946.htmlyajunwyajunwSat, 08 Sep 2012 08:01:00 GMThttp://m.shnenglu.com/CSniper/archive/2012/09/08/189946.htmlhttp://m.shnenglu.com/CSniper/comments/189946.htmlhttp://m.shnenglu.com/CSniper/archive/2012/09/08/189946.html#Feedback0http://m.shnenglu.com/CSniper/comments/commentRss/189946.htmlhttp://m.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://m.shnenglu.com/CSniper/archive/2012/09/02/189160.htmlyajunwyajunwSun, 02 Sep 2012 09:53:00 GMThttp://m.shnenglu.com/CSniper/archive/2012/09/02/189160.htmlhttp://m.shnenglu.com/CSniper/comments/189160.htmlhttp://m.shnenglu.com/CSniper/archive/2012/09/02/189160.html#Feedback0http://m.shnenglu.com/CSniper/comments/commentRss/189160.htmlhttp://m.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://m.shnenglu.com/CSniper/archive/2012/09/02/189157.htmlyajunwyajunwSun, 02 Sep 2012 09:29:00 GMThttp://m.shnenglu.com/CSniper/archive/2012/09/02/189157.htmlhttp://m.shnenglu.com/CSniper/comments/189157.htmlhttp://m.shnenglu.com/CSniper/archive/2012/09/02/189157.html#Feedback0http://m.shnenglu.com/CSniper/comments/commentRss/189157.htmlhttp://m.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://m.shnenglu.com/CSniper/archive/2012/09/02/189134.htmlyajunwyajunwSun, 02 Sep 2012 05:53:00 GMThttp://m.shnenglu.com/CSniper/archive/2012/09/02/189134.htmlhttp://m.shnenglu.com/CSniper/comments/189134.htmlhttp://m.shnenglu.com/CSniper/archive/2012/09/02/189134.html#Feedback0http://m.shnenglu.com/CSniper/comments/commentRss/189134.htmlhttp://m.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://m.shnenglu.com/CSniper/archive/2012/09/02/189120.htmlyajunwyajunwSun, 02 Sep 2012 03:51:00 GMThttp://m.shnenglu.com/CSniper/archive/2012/09/02/189120.htmlhttp://m.shnenglu.com/CSniper/comments/189120.htmlhttp://m.shnenglu.com/CSniper/archive/2012/09/02/189120.html#Feedback0http://m.shnenglu.com/CSniper/comments/commentRss/189120.htmlhttp://m.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://m.shnenglu.com/CSniper/archive/2012/09/02/189099.htmlyajunwyajunwSun, 02 Sep 2012 02:21:00 GMThttp://m.shnenglu.com/CSniper/archive/2012/09/02/189099.htmlhttp://m.shnenglu.com/CSniper/comments/189099.htmlhttp://m.shnenglu.com/CSniper/archive/2012/09/02/189099.html#Feedback0http://m.shnenglu.com/CSniper/comments/commentRss/189099.htmlhttp://m.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>
            亚洲高清中文字幕| 米奇777在线欧美播放| 榴莲视频成人在线观看| 久久精品亚洲乱码伦伦中文 | av成人老司机| 国产综合视频| 韩国v欧美v日本v亚洲v| 欧美午夜美女看片| 欧美精品 国产精品| 欧美ab在线视频| 免费亚洲电影在线| 欧美高清视频www夜色资源网| 欧美一区=区| 亚洲美女中出| 亚洲精品一级| 亚洲一区二区三| 性亚洲最疯狂xxxx高清| 欧美在线黄色| 欧美大胆成人| 亚洲伦理自拍| 欧美亚洲一区在线| 麻豆精品视频| 91久久精品国产91久久| 欧美一级免费视频| 久久久最新网址| 亚洲国产精品一区二区三区| 亚洲精品一区在线观看| 亚洲欧美激情四射在线日| 久久精品99无色码中文字幕 | 亚洲美女av在线播放| 亚洲专区国产精品| 欧美www视频| 亚洲综合日韩| 欧美手机在线视频| 一区二区冒白浆视频| 久久综合婷婷| 中文亚洲欧美| 欧美日韩国产一区| 亚洲国产精品国自产拍av秋霞| 午夜精品久久久久久久白皮肤 | 久久激情五月激情| 日韩网站在线看片你懂的| 韩国一区电影| 欧美三级视频在线播放| 亚洲福利精品| 久久只有精品| 久久久久国产精品一区| 国产精品久久77777| 亚洲一区二区三区视频播放| 免费久久99精品国产自| 久久视频在线免费观看| 亚洲黄一区二区| 日韩一级大片| 国产精品视频| 免费h精品视频在线播放| 久久精品一区中文字幕| 亚洲激情一区二区| 亚洲欧洲一二三| 欧美肉体xxxx裸体137大胆| 亚洲主播在线播放| 久久中文欧美| 亚洲自拍三区| 久久久人人人| 亚洲深夜影院| 久久精品国产免费观看| 亚洲成人中文| 亚洲欧美日韩国产成人精品影院| 国产日产欧产精品推荐色| 亚洲第一在线视频| 国产欧美日韩亚洲精品| 91久久夜色精品国产网站| 国产原创一区二区| 亚洲网站啪啪| 亚洲一区在线视频| 另类欧美日韩国产在线| 亚洲人体偷拍| 亚洲成色精品| 欧美在线资源| 国产精品久久二区二区| 男女视频一区二区| 国产亚洲精品一区二区| 亚洲网友自拍| 午夜亚洲一区| 国产精品一区二区欧美| 一区二区三区四区精品| 亚洲永久精品大片| 国产精品久久久久久妇女6080| 最近中文字幕mv在线一区二区三区四区 | 亚洲国产精品久久久久| 国产一区二区视频在线观看 | 一区二区日韩欧美| 免费精品99久久国产综合精品| 久久精品夜夜夜夜久久| 一区二区三区在线免费视频 | 久久黄金**| 国产精品网站在线| 欧美伊人精品成人久久综合97| 久久成人资源| 亚洲人久久久| 欧美日韩综合另类| 久久狠狠亚洲综合| 日韩亚洲欧美中文三级| 欧美在线免费观看亚洲| 亚洲第一区色| 国产性天天综合网| 欧美日韩国产123| 日韩网站免费观看| 久久久www成人免费毛片麻豆| 亚洲影视在线| 久久综合狠狠综合久久综青草| 久久躁狠狠躁夜夜爽| 国产亚洲激情视频在线| 美日韩在线观看| 亚洲欧美日韩综合一区| 一本一本久久a久久精品综合麻豆| 久久久久久久欧美精品| 亚洲欧美日韩在线观看a三区| 1769国产精品| 亚洲国产黄色| 精品成人在线视频| 国产日韩亚洲欧美精品| 欧美性猛交xxxx乱大交蜜桃| 欧美激情第一页xxx| 久久综合狠狠| 欧美第一黄色网| 欧美 日韩 国产一区二区在线视频 | 欧美一区二区三区在线观看| 亚洲先锋成人| 欧美中文在线观看| 久久久久久久久久看片| 久久久久久9| 欧美高清不卡在线| 欧美日韩在线视频一区| 国产日韩欧美一区二区| 国产日韩精品综合网站| 国内精品久久久久影院色| 国产综合精品| 亚洲精品在线免费| 亚洲一区二区影院| 久久精品人人做人人综合| 久久婷婷国产综合精品青草 | 国产欧美va欧美va香蕉在| 国产亚洲一区在线| 亚洲精品在线一区二区| 欧美一区二区三区在线观看视频 | 国产欧美日韩视频| 国内外成人免费视频| 国产一区二区三区四区在线观看 | 亚洲一区免费在线观看| 亚洲国产精品悠悠久久琪琪| 国产伦精品一区二区三区在线观看| 欧美成人久久| **网站欧美大片在线观看| 欧美综合国产| 麻豆久久婷婷| 亚洲国产精品悠悠久久琪琪| 欧美搞黄网站| 亚洲视频二区| 欧美中文日韩| 亚洲级视频在线观看免费1级| 久久精品人人做人人爽| 欧美高清在线播放| 亚洲视频一二三| 国产一区二区三区丝袜 | 欧美亚州一区二区三区| 中文精品视频| 午夜欧美大片免费观看| 国内精品一区二区| 欧美激情第8页| 亚洲一区二区黄| 蜜桃久久av一区| 亚洲一级高清| 狠狠色狠狠色综合日日tαg| 欧美国产一区二区| 一本一本a久久| 久久婷婷麻豆| 99视频+国产日韩欧美| 国产欧美一区二区三区另类精品| 美日韩精品免费| 亚洲永久免费av| 欧美激情aaaa| 久久国产精品网站| 99精品欧美一区二区蜜桃免费| 国产精品三上| 欧美电影免费网站| 亚洲综合成人在线| 欧美激情中文字幕乱码免费| 午夜精品区一区二区三| 亚洲大胆女人| 国产欧美日韩视频一区二区三区 | 亚洲国产综合在线看不卡| 欧美日韩亚洲系列| 亚洲一区久久久| 免费人成精品欧美精品| 日韩午夜免费视频| 黄色一区二区在线观看| 国产精品久久久久久亚洲调教| 牛牛影视久久网| 久久久久看片| 一区二区三区四区国产|