锘??xml version="1.0" encoding="utf-8" standalone="yes"?>香蕉久久久久久狠狠色,久久强奷乱码老熟女网站,色欲综合久久中文字幕网http://m.shnenglu.com/CSniper/zh-cnTue, 01 Jul 2025 12:52:49 GMTTue, 01 Jul 2025 12:52:49 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 鍙戣〃璇勮
]]>
人人妻久久人人澡人人爽人人精品| 久久精品国产只有精品2020| 中文字幕无码免费久久| 久久亚洲精品国产精品| 久久精品视频一| 色婷婷久久久SWAG精品| 久久综合鬼色88久久精品综合自在自线噜噜| 国产精品99久久99久久久| 色偷偷91久久综合噜噜噜噜| 91精品国产乱码久久久久久| 亚洲天堂久久久| 亚洲精品视频久久久| 久久精品成人免费国产片小草| 色综合色天天久久婷婷基地| www亚洲欲色成人久久精品| 99久久国产免费福利| 午夜精品久久久内射近拍高清| 久久亚洲2019中文字幕| 久久国产精品无码网站| yy6080久久| 麻豆国内精品久久久久久| 国产Av激情久久无码天堂| 久久久久久av无码免费看大片| 中文字幕精品久久| 久久国产高清字幕中文| 久久久久国产精品人妻| 国产精品日韩深夜福利久久| 国产精品久久网| 青草国产精品久久久久久| 久久精品国产一区二区三区不卡| 久久久久无码精品国产不卡| 婷婷久久综合| 日韩精品久久无码人妻中文字幕| 久久综合给合综合久久| 国产成人无码精品久久久性色| 欧美午夜精品久久久久久浪潮| 久久亚洲中文字幕精品一区| 日本亚洲色大成网站WWW久久| 青青热久久国产久精品| 久久ZYZ资源站无码中文动漫| 久久精品国产精品亚洲毛片 |