原创 『藍橋杯』2017省賽 包子湊數——數學篩法 DP

『題目描述』 問題描述   小明幾乎每天早晨都會在一家包子鋪喫早餐。他發現這家包子鋪有N種蒸籠,其中第i種蒸籠恰好能放Ai個包子。每種蒸籠都有非常多籠,可以認爲是無限籠。   每當有顧客想買X個包子,賣包子的大叔就會迅速選出若干

原创 Codeforces Round #633 (Div. 2) C. Powered Addition

題意 給一個序列 aaa ,可以在第 iii 秒給任意位置的多個元素加上 2x−12^{x-1}2x−1,問把 aaa 變成一個不下降的序列,最少要多少秒? 思路 既然是要把序列變成一個不下降的序列的最少時間,肯定是把互爲逆序對並

原创 【Python入門】——設計思想和生態概覽

一、Python設計思維和方法 實例:體育競技分析 #雙人擊球比賽:A&B,回合制,5局3勝 #開始時一方先發球,直至判分,接下來勝者發球 #球員只能在發球局得分,15分勝一局 #實例:體育競技分析.py from random

原创 ACwing 105.七夕祭

鏈接:https://www.acwing.com/problem/content/description/107/ 題意: 一個n×mn\times mn×m的二維矩陣,給出矩陣中的 ttt 個點,點可以和相鄰的點交換,最後一個

原创 Codeforces Round #628 (Div. 2) D. Ehab the Xorcist

鏈接:http://codeforces.com/contest/1325/problem/D 題意: 找出一個最短的序列,滿足所有元素異或和爲 uuu ,和爲vvv。 思路: 沒有思路。 此題採用 主要採用分類討論和構造的方式來

原创 Codeforces Round #624 (Div. 3) B

鏈接:http://codeforces.com/problemset/problem/1311/B 題意: 給一個序列 a 和一個序列 p, 規定在序列 a 中只有 p[i] 和 p[i]+1的位置可以交換位置,不限交換的次數,

原创 Codeforces Round #624 (Div. 3)C. Perform the Combo

題意: 給一個長度爲 n 的字符串str 和一個有 m 個元素的數列p。 統計 str 的前p[i]個元素的字母出現的個數 最後再加上 str 所有字母出現的次數 輸出26個字母出現的次數 思路: 原本的思路是 開一個二維數組來維

原创 Codeforces CodeCraft-20 (Div. 2) C. Primitive Primes

鏈接:http://codeforces.com/contest/1316/problem/C 題意: 給出兩個方程: f(x)=a0+a1x+a2x2+...+an−1xn−1g(x)=b0+b1x+b2x2+...+bm−1x

原创 【HDU3430】Shuffling 置換的循環節 + 擴展中國剩餘定理

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=3430 題意: 給一個初始順序爲1~N的牌組,然後給出一個置換和一個目標順序牌組,問最少洗多少次可以變成目標牌組? 思路: 多次置換

原创 【Python入門】——Turtle繪圖

Python入門 1.Turtle繪圖 假設一個小海龜,在一個橫軸爲x、縱軸爲y的座標系原點,從(0,0)座標開始,按照有序的操作序列,在這個平面座標系中移動,將Turtle(海龜)運動的軌跡作爲圖形。 import turtl

原创 『最短路徑』單源無負權值最短路徑算法——Dijkstra算法(優先隊列優化 + C++實現 + 例題)

『算法原理』 最短路徑(Shortest Path):一個結點到另一個結點的最小權值和。 Dijkstra算法同時也叫單源最短路算法,其思想是——按路徑長度遞增的次序產生最短路的算法。 通俗來講就是,找出從源點開始通過1條邊可以到達的點的

原创 Codeforces Round #618 (Div. 2) C.Anu Has a Function

鏈接:https://codeforces.com/contest/1300/problem/C 思路 f(x,y)=(x|y)−y 其實就是 y的二進制位上所有爲1的位置都清零,即所有運算結束後這個位置一定是零,所以影響最後答案

原创 【Python入門】——Time庫的使用

Time庫的使用 Python中處理時間的標準庫 import time #導入庫 三類函數 一、時間獲取 # 一.時間獲取:time() ctime() gmtime() time.time() #獲取當前時間戳 一個浮點

原创 【Python入門】——Random庫的使用

Random庫的使用 導入庫 import random 基礎隨機函數 random.seed(a=None) #生成一個隨機種子 random.random() #生成一個[0.0,1.0)的隨機小數 擴展隨機數函數

原创 【Python入門】——組合數據類型

1.集合 # 集合用大括號{}表示, 元素間用逗號分隔 元素唯一 無序 A = {"python",123,("python",123)} #使用{}建立集合 B = set("pypy123") #使用set()函數建立集合