原创 Java併發編程實戰讀書筆記(一、線程安全性)

1.無狀態的對象一定線程安全,因爲沒有共享狀態,題目都在訪問不同的實例。 2.當某個計算的正確性取決於多個線程的交替執行時序時,就會發生競態條件。 3.當無狀態類中添加一個狀態時,如果該狀態由線程安全對象來管理,那這個類仍是線程安全的。當

原创 hdu3466 Proud Merchants (最易懂的排序證明)

Problem Description Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerf

原创 Codeforces Round #523 (Div. 2)C. Multiplicity

11點送命場沒敢打,賽後補題,還是看了神仙代碼纔會的(弱~)。 dp,枚舉每一個數,找出每一個數的因數,然後枚舉相應的位置,狀態方程爲dp[j]+=dp[j-1](dp[k]記錄的是已枚舉完的數到k位置有多少組情況),空間優化一下所以要注

原创 Codeforces 961B Lecture Sleep

前綴和與後綴和處理一下就行,然後枚舉O(N)複雜度。#include<iostream> #include<cmath> using namespace std; int a[100005]={0},b[100005]={0},sumq

原创 Educational Codeforces Round 43 (Rated for Div. 2) A B C

A.#include<iostream> #include<cstring> using namespace std; int main(){ int i,n,j; j=0; string s; cin>>n; cin>>s;

原创 51nod 1212 無向圖最小生成樹

emmmmm.....51基礎題別的不說(赤裸裸的prim算法),就是用於最小生成樹算法入門的,主要是prim算法。先隨便選一個點加入集合v,然後在非v集合中不斷找到這個集合距離最小的點,之後把該點加入集合v並更新非v集合的點到集合v的最

原创 hdu 1213 How many tables (適合新人入門貼)

今天是並查集專場哦,題意就不多解釋了,看不懂的去補補英語吧ㄟ( ▔, ▔ )ㄏ,裸的並查集,首先初始化讓每個點的根節點爲他自己本身,若輸入a,b認識那麼就把a,b歸入同一集合(也就是讓a,b的根節點一樣,並查集裏用集合裏某一個點作爲根節點

原创 51 nod 1179 最大的最大公約數

枚舉暴力解決水題,直接上代碼~( ̄▽ ̄~)~。 #include<iostream> #include<cmath> using namespace std; int main() {     int i,n,t,k=0,j,sum,