比賽名: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...