原创 UVa 10458 - Cricket Ranking (容斥)

題意 讓幾個區間內的數的和爲K,問方法數。 思路 組合數學P169。 代碼 import java.io.*; import java.math.*; import java.util.*; public class Main

原创 Codeforces 551C - GukiZ hates Boxes (二分 + 貪心)

題意 有n堆東西,m個人,每個人在每一秒只能選擇走到下一堆或者拿掉一個東西,問拿掉全部東西最少要多久。 思路 二分時間。 Check的時候,我們可以先拿出一個人,走到最近的非零堆,然後儘可能地搬東西,重複m次,看能不能搬完。 代碼

原创 TopCoder SRM 660 Div2 Problem 1000 - Powerit (數論)

題意 求∑ni=1i2k−1modm 思路 求abmodc 還有這麼一個公式. ab≡(amodc)bmodϕ(c)+ϕ(c)(modc),b>=ϕ(c) 因爲m最大是1e9,那麼k在30以內的我們都可以暴力得出結果,k>30就一

原创 TopCoder SRM 663 Div2 Problem 1000 - CheeseRolling (狀壓dp)

題意 n個人,每個人對上誰都有勝負。現在問如何安排比賽,輸出每個人最後的勝利的情況數。 思路 唐老師原話。 點集爲 i 勝者爲 j 的方案數 實際上有用的狀態不多 i裏的點數是2的冪次 然後枚舉i的

原创 UVa 10623 - Thinking Backward (平面圖的歐拉公式)

題意 橢圓三角形圓形混合,問有多少個面。 思路 這題要用到平面圖的歐拉公式。 V-E+F=2。 V是圖的點數,E是邊數,F是面。 我們可以通過計算出最終圖裏的V和E然後算出F。 F=E-V+2 下面簡單說下怎麼推出公式。 按題目要

原创 HDU 5496 - Beauty of Sequence (序列 + 統計貢獻)

題意 統計所有子序列的和,子序列中連續的重複元素消去只剩一個。 思路 看了snowy_smile巨巨在比賽時寫的代碼,每行代碼都有註釋,仰慕。 考慮每個元素的貢獻。 當前元素後面當然可以隨便選,有2n−i 種情況。 如果當前元素

原创 TopCoder SRM 667 Div1 Problem 250 - OrderOfOperations (狀壓dp)

題意 給出一些01串,我們的目標是選中全部的位置。 每選擇一個串,如果那個串中的1的位置之前沒被選過,cnt++。統計完之後,ans += cnt^2。 問如何選擇串的順序,使得最後的值最小。 思路 一開始去想貪心了,亂搞了好一會

原创 Git Push的時候提示ssh_exchange_identification: Connection closed by remote host git 的解決辦法

昨天晚上push到github的時候突然提示ssh_exchange_identification: Connection closed by remote host git,搜了一圈都是說ssh連接數滿了,並沒有符合我情況的解決

原创 UVa 314 - Robot (bfs)

題意 一個機器人,要從起點走到終點,每一秒能左轉、右轉、前進1~3步。 求最短時間。 思路 今天的弱校連萌太兇殘了,沒辦法纔來做這題。。 隨便搜就行。 這裏要注意一下障礙物,因爲是正方形的,而且機器人很肥,所以要判斷一下每一步

原创 TopCoder SRM 668 Div2 Problem 1000 - AnArray (數學)

題意 求k|abc ,abc的對數。 思路 根據代碼YY出來的,如有不對請路過的巨巨指出_(:3」∠)_ 如果k|abc ,那麼k|gcd(a,k)∗gcd(b,k)∗gcd(c,k) ,也就是說,我們只要處理每個數和K的gcd就

原创 UVa 10692 - Huge Mod (數論 + 歐拉定理擴展)

題意 計算abcdmodm 思路 用歐拉公式即可,不過要保證符合b>=ϕ(m) 的前提!網上很多代碼都是錯的。可以試下這組數據:1000 3 12 1 1。 就連uHunt上的標程都是錯的。。 寫了個Check函數每次判斷是不

原创 CSU 1515 - Sequence (莫隊)

題意 區間l, r內有幾對滿足|a[l]-a[r]| = 1。 思路 可以發現l+=1, r和l, r+-1都可以在O(1)內求出來,就可以用莫隊了。 剛開始用map搞了好幾發,連輸入掛都用上了還是TLE。不就多了個log嗎(斜眼

原创 TopCoder SRM 663 Div2 Problem 500 - ABBA (思維)

題意 給一個初始串和目標串,兩種操作,問能不能變過去。 思路 我們不能從初始串考慮如何變過去,這樣情況太多。 考慮從目標串能不能變成初始串。 由題意,我們知道不管加的是A還是B,最後都在字符串的最後一位。也就是說target的最後