原创 Codeforces 1209D

有k人,每個人都想得到n中物品中的兩件,如果一個人一件都沒有得到,那麼就會不高興,求不高興的人數。 把物品看成點,人看成邊,如果一個點被訪問過,那麼一定有一個人被滿足了 如果一個連通分量有m個點,無論有多少條邊,只能最多有m-1條

原创 hdu 4763

求一個最長的字串s,原串中有sasbs的形式。 枚舉是會TLE滴,所以要預處理一下原來的串,can[i]表示能否構成長度爲i的字串的一前一後的形式,這用next數組即可求得,然後枚舉中間的點判斷能否滿足三段式的結構 #includ

原创 Codeforces 1228D

一個無向簡單圖,問是否能把圖分成三個點集,使得每個點集內部的點沒有邊相連,點集之間所有點都要兩兩相連。 好像3-sat啊 由於如果存在的話,那麼一個點和它相連的點都不在同一個點集中。所以先假設存在,把點染成1、2、3三種顏色之一,

原创 Codeforces 1217D

一個有向圖,把邊染色後使得相同顏色的邊無法構成環,求最大顏色數。 原圖若沒有環,則答案爲1,否則答案爲2,只要一個環中的邊染不同顏色即可。問題就是如何高效的使環中的邊染不同顏色,考慮到是有向圖,如果有環,則肯定有a - > b ,

原创 Codeforces 1213G

一個有向圖,每條邊都有一個權值,有m個詢問,每個詢問找出有多少對點使得這些點對之間的最大邊權不大於q 直接建圖搞不好做,也許是我不會吧 考慮要查詢的值爲x,當前有一條邊,其權值爲x-1,連接的兩個連通分量大小爲sz1和sz2,那麼

原创 hdu 4516

給你個“串”,讓你找最長迴文字串,其中迴文字串要像是山峯的形狀。 爲了不影響原來的串,要加比較大的數字。 計算mp時要注意兩邊的小,中間的大,由於添了其他的數字,所以間隔是2 #include <cstdio> #include

原创 hdu 4612

有一個無向圖,問加一條邊以後最少還有多少個橋。 就是求多少可以消除多少個橋,可知答案就是縮點以後樹的直徑。 求樹的直徑用dfs TLE, bfs就AC了,學到了。 #include <cstdio> #include <iostr

原创 deepin那些事

pip換源 原地址 安裝Postman 原地址 qtcreator中輸入中文 原地址 qt 需要安裝make sudo apt-get install make即可 qtcretor IGL 原地址 點擊圖標最小化 anacond

原创 Codeforces 1234E

給m個數,每個數在1-n之間,有n個排列,求n次排列中,這m個數的相鄰兩個數之間的位置的絕對值之差。 可以發現,對於第i個排列,其實就是把i 和 i+1 換個位置而已,所以如果有兩個相鄰的數,不是i,也不是i+1的話,那麼這兩個數

原创 poj 1797

和poj2253差不多,都是要邊權最大值最小 #include<iostream> #include<cstdio> #include<algorithm> #include<queue> #include<cmath> #inc

原创 Codeforces 1223C

題意比較難以描述,故略; 考慮到用k個如果成立,那麼k+1覺得成立。因而可以想到二分。考慮貢獻時,先上a,b的lcm,在上max(a,b),最後上min(a,b) 兩個2e5數的lcm有可能爆int,需要注意。 #include<

原创 hdu 1525

簡單博弈 對於一個狀態,要麼是必勝,要麼必敗 對於(a,b) ,a > b來說 若 a % b == 0 直接轉化爲(b,0),結束 若 a / b > 1 , 設 a = q * b + r , q > 1 , 0 < r <

原创 Octave一些操作

help xxx A爲矩陣 octave 中index從1開始 基本 code Value % 註釋 PS1(’>> ') 將標記符換爲>> [ ; ; ] 創建矩陣 A = a : dif : b 創建

原创 ubuntu python記錄

ubuntu 18.04 python3.6 Matplotlib後端是 Agg 的問題 import matplotlib matplotlib.use('TkAgg') matplotlib 教程 原地址 沒有tk包的問題

原创 Codeforces 1194D

簡單博弈 給你個數n,每次能減去1,2,或者k,兩個人輪流,輪到誰那個數是0的時候誰輸。 先打表,發現k不是3的倍數的時候數字是循環的,循環節是3 k是3的倍數時循環節是(k+1) 再討論一下即可 /***************