原创 20172018-acmicpc-southeastern-european-regional-programming-contest-seerc-2017-en A - Concerts

  題意就是給一個字母序列a,以及一個另外一個字母序列b,你需要b中找到字母序列a,並且要求對於在b中的字母序列a,每個單詞都需要滿足相應的距離    其實很簡單,我們利用DP[i][j]代表a已經匹配i個位置,當前是在b串的j位置,這

原创 算是反省吧!!!

最近課程壓力太大了,不能像以前一樣划水,然後還要準備區域賽,誰知道我這要比賽還忙學習,是不是在玩火。。。 可能還是因爲自己是拖延癌症患者。。。什麼事情喜歡留到最後做,雖然最後做的效率的確蠻高的,但是也屬於玩火的一種吧。。。 拖延的原因,

原创 結束了?這只是新的開始

博客全面停更,咱們江湖再會

原创 我們會贏的對嗎?一定會的對嗎???

   唉,找工作也找不到,保研也保不了,真的非常的難受,每年拿着獎學金,感覺沒有什麼太大的作用。    和隊友一樣面臨着失業的風險,找不到好的實習。    真的是難受到不行,偏偏自己又不服輸。    我們會贏的對嗎?一定會的對嗎???

原创 1014 Waiting in Line 隊列+前綴和

題意 有K個人需要辦理業務,總共有n個窗口,每個窗口後面有一條黃線,窗口和黃線之間只能容納m個人,黃線後面的人只排成一列,如果一旦前面排隊的隊伍有空位,那麼就選擇人數最少的一列,如果人數最少的一列有多種情況,就選擇窗口最短的 思路

原创 Card Hand Sorting 二進制枚舉暴力

  這個題其實由於只有4種花色的,那麼每種花色排列的順序,也不過是4!種,然後對於每種花色內部到底是升序還是降序,其實也可以直接暴力,一共也就4!*2^4種情況,然後直接進行排序就可以了,但是我們如何計算需要移動的位置呢???我們這樣考

原创 Codeforces Round #591 (Div. 2, based on Technocup 2020 Elimination Round 1) 題解

A..B略 C 對當前的值排序,再二分答案,然後對於(i%x==0 && i%y==0)放入大的,再放其他的貪心解決即可。 #include<iostream> #include<stdio.h> #include<string.h>

原创 AcWing95. 費解的開關 枚舉+位運算

這道題的確比較難想,首先我們知道圖比較小,有可能是枚舉,那麼該如何枚舉呢??? 你可以發現,我們只要把第一排定了,並且保證第一排不準動,那麼答案就定了 也就是說,我們首先用二進制枚舉,枚舉第一行需要翻轉的,然後讓第一行不準再翻轉,後面的

原创 20182019-acmicpc-asia-dhaka-regional F .Path Intersection 樹鏈剖分

直接進行樹鏈剖分,每次對路徑區間內的所有點值+1,線段樹進行維護,然後查詢線段樹的最大值的個數!!! 查詢線段樹區間最大值個數,可以先維護區間和,在維護區間最值,如果區間和等於區間最值乘以區間長度,那麼直接返回長度!!! 清空的時候,直

原创 【模板】左偏樹(可並堆)

#include<iostream> #include<algorithm> #include<stdio.h> #include<string.h> using namespace std; const int maxx = 2e5

原创 E - D Tree HDU - 4812 點分治+逆元

這道題非常巧妙!!! 我們進行點分治的時候,算出當前子節點的所有子樹中的節點,到當前節點節點的兒子節點的距離,如下圖意思就是 當前節點的紅色節點,我們要求出紅色節點的兒子節點綠色節點,所有綠色的子樹節點的到當綠色的點權乘積   有如下

原创 P2993 [FJOI2014]最短路徑樹問題 點分治+最短路

 這道題還是非常簡單的,由於我們要保證最小字典序,因此我們需要把邊進行排序,然後從大到小插入,因爲鏈式前向星是倒着存的。我們只需要先跑一個最短路,然後查詢邊是不是在最短路上,這個可以通過枚舉邊並用 dist[v]=dist[u]+edg

原创 mt一面涼經

提問: 1、C和C++的區別? A:一個面向過程、一個面向對象 2、C++面向對象知道嗎? A:不知道 3、設計模式知道多少呢? A:不知道、可以問問我算法方面的 4、簡述二叉查找樹? A:左邊的孩子節點值小於父親節點、右邊的孩子

原创 D - Denouncing Mafia DFS

  這道題其實很簡單,求k個到根的鏈,使得鏈上的節點的個數儘可能多,如果節點被計算過了,就不能再被計算了,其實我們發現,只要k>=葉子節點,那麼肯定是全部,所以我們考慮所有的葉子節點,DFS到根節點後,往上遞歸,我們能比較容易的求出某個

原创 [Offer收割]編程練習賽108 - 樹上的最短邊 樹鏈剖分

  直接點權下放到邊權,每次查詢從dfs序的st[u]+1,ed[v]之間查詢, #include<iostream> #include<stdio.h> #include<string.h> #include<algorithm>