2010 遼寧省省賽 題解

2021-06-16 09:19:12 字數 3448 閱讀 8067

比賽名:nbut 2012 weekly - 13th oct for 11x

比賽的時候過了8題,h題後來知道是什麼了。。但是還是不知道怎麼求。。。

a題:水題,字串比較。

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define pi acos(-1)

#define inf 0x7fffffff

#define clr(x) memset(x,0,sizeof(x));

#define clrto(x,siz,y) for(int xx=0;xx<=siz;xx++) x[xx]=y;

#define clrset(x,siz) for(int xx=0;xx<=siz;xx++) x[xx]=xx;

#define clrvec(x,siz) for(int xx=0;x<=siz;xx++) x[xx].clear();

#define fop freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);

#define myprogram by_135678942570

#define clrcpy(x,siz,y) for(int xx=0;xx>c;

if(c=="bowl"||c=="knife"||c=="fork"||c=="chopsticks")

for(int i=0;i>c[i];

mp[c[i]]++;

}for(int i=0;i>c1;

mp[c1]--;

}bool flag=0;

for(int i=0;i

正解應該是狀態壓縮搜尋吧。因為管理者最多有9個,所以我們可以用乙個3^9的數代表被管理的道路的狀態。dp[i][j]代表到第i個點,狀態為j,最少花費為多少,直接記憶化搜尋一發應該就行了。。

比賽的時候直接爆搜過了,當時沒多想就覺得資料很小有可能爆過去。。

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define pi acos(-1)

#define inf 0x7fffffff

#define clr(x) memset(x,0,sizeof(x));

#define clrto(x,siz,y) for(int xx=0;xx<=siz;xx++) x[xx]=y;

#define clrset(x,siz) for(int xx=0;xx<=siz;xx++) x[xx]=xx;

#define clrvec(x,siz) for(int xx=0;x<=siz;xx++) x[xx].clear();

#define fop freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);

#define myprogram by_135678942570

#define clrcpy(x,siz,y) for(int xx=0;xxroad[111];

int e[11]=;

int f[11]=;

int use[11]=;

int vis[111]=;

int n,m,q;

long long minn=inf;

void find(int pos,int sum)

for(int i=0;i#include#include#include#include#include#include#include#include#include#include#include#include#include#define pi acos(-1)

#define inf 0x7fffffff

#define clr(x) memset(x,0,sizeof(x));

#define clrto(x,siz,y) for(int xx=0;xx<=siz;xx++) x[xx]=y;

#define clrset(x,siz) for(int xx=0;xx<=siz;xx++) x[xx]=xx;

#define clrvec(x,siz) for(int xx=0;x<=siz;xx++) x[xx].clear();

#define fop freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);

#define myprogram by_135678942570

#define clrcpy(x,siz,y) for(int xx=0;xx=0)

printf("%d\n",cnt);

}return 0;

}

h題:解佩爾方程。。。

當時就跪了。。想了很久都不會,結果熊教一眼就看出是佩爾方程orz。。但是還是不會求。。。提供乙份**,以後研究去。。

code by eapink

#include#include#include#include#include#includeusing namespace std;

int count(string s)

if(count(cheng)==cheng.length())

return "0";

return cheng.substr(cheng.find_first_not_of('0'));}

string sum(string s1,string s2)

}return s1;}

string change(int a)

for(--i;i>=0;--i)

s1+=s2[i];

return s1;}

int main()

int s;

a[2]=s=sqrt((double)n);

h[0]="0";h[1]="1";

k[0]="1";k[1]="0";

lp[1]=0;lq[1]=1;

int p=2;

while(1)

else if(p==1)

else

string s1=muling(h[p],h[p]);

string s2=sum("1",muling(change(n),muling(k[p],k[p])));

if(s1==s2) //h[p]*h[p]==1+n*k[p]*k[p]

int sum=0;

for(int i=0;i

終於完整的做完一次比賽了。。。

雖然貌似略水。。

posted by 135678942570   blog.csdn.net/ttl_135678942570

2010 遼寧省賽

1.dinner 題目大意 給你乙個數n,後有n個字串,問字串中是否含有bowl,knife,fork and chopsticks.這四個單詞,如果存在就輸出。include includechar s 4 30 char a 30 int main void join int u,int v i...

2010遼寧省賽F(字典樹,動態規劃)

include using namespace std int n,x char s 10010 char a 31010 int val 100010 int ch 100010 30 int dp 100010 int main u ch u a j a val u max val u x u為...

第四屆山東省省賽題解

幾何 給你等邊三角形的兩個點a和b,求第三個點c的座標 且abc是逆時針的 因為要求abc是逆時針的,所以可以直接用b繞a逆時針旋轉60 這裡有個通用的公式,證明稍微複雜,可以加到模板裡以備不時之需 點 x1,y1 繞點 x2,y2 逆時針旋轉a角度後新的座標 x,y 為 x x1 x2 cos a...