jelly的難題【題目鏈結】
好了廢話完了,下面是題解部分:
solution:
首先你可能發生的,是看不懂題:
定睛一看,這是個廣搜!(然後非常幸運昨天剛做了乙個廣搜的題,然後我就會了)
首先先是輸入部分,這個真的很毒瘤了,當sy已經去忙akt1的時候,我還在可憐的與讀入作鬥爭(與讀入抗爭掉了大部分時間可還行)。讀入很毒瘤,因為每個字元之間有空格,所以讀入的時候要用while過濾。然後咱的讀入好生毒瘤,看看就好啦(相信像ych這樣的大佬肯定有更優的方法):
n=read();m=read();然後就是bfs部分了,其實就是乙個標準的廣搜板子,然後因為最近看了tarjan,我居然在bfs裡用了時間戳可海星。char ch=getchar();
for(int i=1;i<=n;i++)
}
首先要說一直理解不了建構函式這種東西,所以一直都是寫賦值函式,看看就好。
首先顯然是把*(也就是印表機)的地方加進佇列中,然後別忘記開vis記錄已經走過了。
然後while(!q.empty()),每次取出隊首,向四個方向擴充套件(當然前提是可以擴充套件因此記得寫pan函式),然後對於最大時間以及卷子數量,我用了時間
的理念,也就是記錄訪問順序(當然並不是完全時間戳),進行儲存與bfs,每次取出隊首,然後四個方向嘗試拓展,如果可以拓展,那麼拓展,將其入隊,並將新入隊的結點的dfn值在被拓展出的結點的基礎上+1,這樣最大的dfn也就是最大的時間ans。然後還有如何算總共的卷子數,我的演算法比較複雜,感覺過於麻煩了(看看就好啦),記錄每個時間戳,然後用ans-時間戳+1,表示的就是這個結點的卷子數。然後加起來就好啦。
#includeusingend-namespace
std;
inline
intread()
intn,m,x,y;
int a[501][501
];int dx[4]=;
int dy[4]=;
char a1[501][501
];bool vis[501][501
];const
int mod=19260817
;struct
node;
node fz(
int x,int y,int
dfn)
bool pan(int x,int y)
queue
q;void
bfs()}}
for(int i=2;i<=cnt;i++)//
我太菜了的求卷子數法qwq
sum=(sum%mod+ans%mod-cz[i]%mod+1)%mod;
cout
}int
main()
}bfs();
return0;
}
7 10校內test T2不等數列
題目鏈結luogu 此題在luogu上模數是2015,考試題的模數是2012。然後這道題聽說好多人是打表找規律的 就像7.9t2一樣 手動滑稽 gc 另外手動 sy,每次測試都無意之間bibi正解,然後說自己是不會做是個什麼騷氣操作。所以我們來看真.題解 solution 首先,輸入莫得什麼好說的 ...
7 9校內test T2 極值問題
這個題真的,毫無思路的說,但是我們會打表啊 lz的打表之路 當然是手寫乙個暴力啦 然後滾去配置lemon測試一下暴力可以得多少分qwq 是的40分呢!然後其實看上面也能看出來一些規律了,定睛一看 但其實我並沒有看出來 斐波那契數列!於是我們就可以找斐波那契數列中最大的小於等於k的兩項,然後碼量也不多...
7 10校內test T3經營與開發
題目鏈結luogu 它 又是個dp 我 我討厭dp 然後又是讀入,顯然用快讀啊 資料範圍還是很大的 習慣 然後我們發現,不論是損耗值 維修值,還是 採礦所得,維修花費 都帶著個p,因此我們可以把p提出來?dp i 表示第i個星球 第n個星球的最大賺取費用 那麼我們的解就是dp 1 考慮一下 假設第i...