文章目錄
- 一、尋找到路(P2296)
- 二、國王游戲(P1080)
- 1.多載運算子 ~~(現學現用)~~
- 2.主要數論
- 3.華麗的主函式
- 三、書柜的尺寸(P2160)
- 四、海底珍珠串
- PS:樣例輸入中忘了寫給出n,測驗點中有輸入n
一、尋找到路(P2296)
題目傳送門
嘗試過用dp去寫,1小時后心態炸了…
思路:queue&bfs
估分:60分
核心代碼:
while(!q.empty()){
int x1=q.front();q.pop();no3[x1]=1;
int dian=x1;
if(x1==ex){
cout<<dis[x1];return 0;
}
x1=head[x1];
while(x1!=0){
if(b[edge[x1].to]==1&&no3[edge[x1].to]==0){
q.push(edge[x1].to);
dis[edge[x1].to]=dis[dian]+1;
}
x1=edge[x1].next;
}
}
實際得分:60分 (真不戳)
二、國王游戲(P1080)
題目傳送門
原本只打算water40 ~ 60分的 暴力著暴力著就發現了其中規律,一個大臣的左右手乘積越大,就越要放到隊伍后面,前面的大臣不管如何排都不會影響后面大臣(乘法交換律),
PS:1.貪心得不到最優解 2.答案數值很大,需要高精 (Python黨狂笑)
思路:數論 (狂推10分鐘,除錯兩小時) 高精 (寫完2分鐘,除錯兩小時)
估分:70 (像我這種手殘黨,肯定還有玄學錯誤)
代碼:
1.多載運算子 (現學現用)
struct moneyy{
long long left,right;
bool operator<(const moneyy x)const{return left*right<x.left*x.right;}
}money[1001];
2.主要數論
void I_do_not_know_how_to_do(long long x){
int useful=0;
for(re int i=1;i<=ls;++i)
deal[i]*=x;
for(re int i=1;i<=ls;++i){
useful+=deal[i];
deal[i]=useful%10;
useful/=10;
}
while(useful!=0)
++ls,deal[ls]=useful%10,useful/=10;
}
void Maybe_it_is_useful(long long x){
int useful=0;
for(re int i=1;i<=10001;++i)
ans[i]=1;
la=ls;
for(re int i=la;i>=1;--i){
useful*=10;useful+=deal[i];
if(useful>=x)
ans[i]=useful/x,useful=useful%x;
}
while(ans[la]==0){if(la==1)break;--la;}
}
PS:改了半天,代碼 混亂 “整齊”
3.華麗的主函式
sort(money+1,money+n+1);
for(re int i=1;i<=n;++i){
I_do_not_know_how_to_do(money[i-1].left);
Maybe_it_is_useful(money[i].right);
What_should_I_do____GaoJin();
}
for(re int i=lm;i>=1;--i)
printf("%d",maxn[i]);
實際得分:20 (玄學錯誤,真不戳)
感想:玄學錯誤出現了,有問題嗎,問題不大,//TMD再也不用數論了!!!!
PS:高精寫了20分,直接暴力60分,,,
三、書柜的尺寸(P2160)
題目折躍門
別問,問就是MC黨
可能思路:動態規劃+數論
題目太難了!!也沒有部分分!!人家就是個小蒟蒻,,, 很顯然我沒寫出來,,,
四、海底珍珠串







PS:樣例輸入中忘了寫給出n,測驗點中有輸入n
想法:誰愛寫誰寫!! 判斷字母數量奇偶,動態規劃求解,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/305689.html
標籤:python
