原创 The Preliminary Contest for ICPC Asia Shenyang 2019 B. Dudu's maze

題意:一張圖,n個點,m條邊,n個點中有k個怪獸節點,除了怪獸節點其他節點都有糖果,從1號點出發,遇到怪獸點就得停下,但你有一次使用傳送門的機會,傳送門會等概率的將你傳送到這個點相連的任意一個點中去,問你最大糖果數的期望值是多少? 思路:

原创 Day2 Codeforces Round #559 (Div. 2)(A,B,C)&&Educational Codeforces Round 65 (Rated for Div. 2)E

Codeforces Round #559 (Div. 2)(A,B,C) A: 思路:首先我們必然假設初始石堆石子數爲0,遇減號答案減1,遇加號答案加1,特判一下遇減號答案爲0的情況,這種情況答案不增不減,只需假定初始石堆石子數多1就行

原创 Day4 Codeforces Round #562 (Div. 2 A,B,C,D)&&POJ1489(最小生成樹)

這些題是昨天就寫了的,事情太多,博客拖到現在才寫 Codeforces Round #562 (Div. 2) A: 思路:按題意模擬一下坐車過程,可以先預處理一下a,x,b,y,將其值全部減一,然後模擬的時候在加一減一的基礎上每次加一個

原创 點分治模板+學習總結

點分治是一種用來處理樹上路徑的算法,假如給出一個問題,有一顆樹,樹上有n個點,要求你求出這棵樹上距離小於等於k點對的數量。 首先我們有一個最簡單直觀的想法,求出任意兩點之間的距離,判斷是否小於等於k,用搜索去寫的話我們的時間複雜度是O(n

原创 The Preliminary Contest for ICPC Asia Shanghai 2019 J. Stone game (退揹包)

題意:有n個石頭,每個石頭重量爲a[i],將這n個石頭分爲2堆,要求第一堆石子比第二堆大,第一堆去掉重量最小的那個石子後又比第二堆小 思路:退揹包,先用01揹包算出容量爲j的方案數,然後再從小到大到順序使石子推出揹包 代碼: #incl

原创 Day1 Codeforces Round #561 (Div. 2)(A,B,C,D)&&POJ 3041 Asteroids(最小覆蓋點集)

Codeforces Round #561 (Div. 2) A: 思路:讓一個集合相同姓氏的人的數量儘量少,也就是讓相同姓氏的人平分到兩個集合當中去,然後簡單計算一下就ok了 代碼: #include<bits/stdc++.h> u

原创 網絡流最大流模板(EK,dinic)

網絡流算法主要用於解決給定一個容量網絡和源點,匯點,求最大可通行流量的問題 增廣路:源點到匯點的一條通路。 最大流問題其實就是不斷找增廣路的問題,我們不斷找增廣路,直到圖中已經沒有增廣路的時候我們就找到了最大流,需要注意的是我們找到的增廣

原创 《深入理解Java虛擬機》學習總結-垃圾收集

一.分代收集理論 當前商業虛擬機的垃圾收集器,大多數遵循了“分代收集”的理論,該理論建立在兩個分代假說之上: 1)弱分代假說:絕大多數對象都是朝生夕滅的 2)強分代假說:熬過越多次垃圾收集過程的對象就越難以消亡 3)跨代引用假說:跨代引用

原创 Day 3 Codeforces Round #558 (Div. 2)(A,B1,B2,C1,C2)

Codeforces Round #558 (Div. 2) A: 思路:m個人離開後,還剩n-m個人,枚舉1~(n-m),看補上m個人是否能連成環 代碼: #include<bits/stdc++.h> using namespace

原创 [..................] / rollbackFailedOptional: verb npm-session 560e475e72d32145問題解決記錄

我自己的問題應該是鏡像服務器沒有設置,下載速度太慢,運行 npm config set registry http://registry.npm.taobao.org 問題解決

原创 數據庫1NF,2NF,3NF,BCNF總結

上述幾個範式的定義自己曾理解了很多遍,但總是容易忘記,決定寫個總結,忘了就來看看。 1NF:通俗的將是表的每一列(數據項)都是不可再分的一部分 2NF:在1NF的基礎上,所有非主屬性對碼完全函數依賴(這裏完全函數依賴主要區別於平凡函數依賴

原创 Java-finalize()方法與垃圾收集之間的聯繫

之前有個疑惑,像這樣CMS,G1這樣大部分時間可以與用戶線程併發執行的垃圾收集器,在回收對象時,可以執行finalize方法可以理解,但爲什麼那些完全stw的收集器也可以執行finalize方法呢,後來去了解了一下發現,執行finaliz

原创 《現代操作系統》學習總結-進程模型

進程模型 在進程模型中,計算機上所有可運行的軟件,通常也包括操作系統,被組織成若干順序進程,簡稱進程。一個進程就是一個正在執行程序的實例,包括程序計數器、寄存器、和變量的當前值。從概念上講,每個進程都擁有自己的虛擬cpu,不過實際上cpu

原创 《深入理解Java虛擬機》學習總結-class文件

一.魔數與版本號 每個Class文件的頭4個字節被稱爲魔數,它的唯一作用是確定這個文件是否爲一個能被虛擬機接受的class文件。有許多文件都通過魔數的方式來對文件進行驗證。Java class文件的魔數位0xCAFEBABE,寓意咖啡寶貝

原创 《Java併發編程的藝術》學習總結-隊列同步器(AQS)

一.隊列同步器 隊列同步器是一個抽象類,全名AbstactQueuedSynchronizer,簡稱AQS,基於模板方法模式設計的,即會提供一些抽象方法供使用者重寫,提供一些模板方法供使用者調用,在自定義同步器的實現中會通過調用模板方法來