Time of Update: 2018-12-04
題目意思:給你N個點和一個邊長為R的正方形,為你用這個正方形最多可以覆蓋幾個點(在正方形邊界上的點也算)。注意:正方形的邊一定平行於座標軸。思路:對N個點的y座標進行排序,然後O(N)枚舉正方形的下邊界。取出N個點中y座標在上下邊界範圍內的點。然後O(N)複雜度求出長度為R的邊最多可以覆蓋的點。所以整體枚舉的複雜度為O(N^2)。CODE:/*O(N^2)枚舉*/#include <iostream>#include <cstdio>#include
Time of Update: 2018-12-04
題意:有t組測試資料,有n張海報,海報按題目給出的順序覆蓋,問最後能看到幾張海報。要用到離散化。因為題目給出的數字是對應區間的,要把它對應的邊界上,可以a[i]--或者b[i]++。建樹的時候,邊界條件是left+1==right,因為區間是連續的。我把輸入的資料,對應一個值,在查詢的時候,如果當前的顏色是純色的,那麼就不用在往下查詢把,對應的顏色的標記flag[i]表標記上,直接返回,最後判斷掃一次flag表裡有幾個值被標記就可以統計出資料。/*代碼風格更新後*/#include
Time of Update: 2018-12-04
題意:有多組測試資料,每組資料的n和d表示,有n個數,求間距大於d的最長上升序列。(1<=n<=10^5 , 0<=d<=10^5) 如果資料範圍比較小,就是一比較水的DP了。但是10^5層級的資料,O(n^2)的複雜度顯然不科學。 用線段樹搞定。線段樹中葉子結點表示值為i的並且以其結束的最長上升序列是多少。每次轉移的時候,查詢比當前值小的最大值就可以了。#include <iostream>#include <cstdio&
Time of Update: 2018-12-04
最近才調C++調用jar包 編譯時間出現了找不到 libjvm.so庫的資訊 轉一遍解決此問題的文章error while loading shared libraries: libXXX.so.1.2.3: cannot open shared object file: No such file or directory此時你可以locate libXXX.so.1.2.3 (如果你的檔案系統比以前有了變化,如安裝了可能是需要的庫的開發包,則需要 locate -u
Time of Update: 2018-12-04
題意:題目給你n個數,m個操作,接下來一行給你這n個數,接下的幾行給出m個操作,Q a b 表示查詢區間[a,b]裡的數和和。U a b c
Time of Update: 2018-12-04
題意: 有T組測試資料,每組資料的N和Q分別表示停車場有N個位置(下標從1開始),Q個操作。操作有兩種(1)"A M L R",表示這個車隊有M輛車,如果前面的空位,要求與前面的車的距離不超過L,如果後面有車,要求與後面的車的距離不超過R,如果前面或後面沒有車,條件L,R的限制忽略,如果有滿足條件的位置輸出起點的下標,如果有多個滿足條件的位置輸出下標最小的一個,如果沒有滿足條件的位置,輸出-1。(2)"B K",表示從左至右數第k個車隊離開。
Time of Update: 2018-12-04
今天從windows拷貝了一個源檔案到RHEL5裡,RHEL5原來裝的是中文版,但是編譯源檔案後在終端執行提示的中文都變成了亂碼。在網上搜了一下資料,原來是linux預設用UTF-8編碼,Windows裡面用GB2312編碼,把GB2312編碼的漢字拷貝到UTF-8編碼裡面查看自然是亂碼了。解決方案一:可以單獨把源檔案轉換編碼格式 iconv -f gb2312 -t utf-8 source.txt> destination.txt
Time of Update: 2018-12-04
題意:有t組測試資料,n為鉤子長度(1<=n<=100000),m為操作的次數。初始時,每個鉤子的價值為1,操作由三個數字組成x,y,z表示把區間[x,y]的鉤子變成的價值變成z(1代表銅,2銀,3金)。 使用了延遲標記type,表示當前區間的左右子兒子的價值為type,在更新到當前區間時,同時更新當前區間的valu,即type*當前區間的長度。/*代碼風格更新後*/#include <iostream>#include
Time of Update: 2018-12-04
轉載連結 http://blog.chinaunix.net/uid-25304914-id-3046279.html庫 可執行程式的一部分動態連結相關性 lddhttp://hi.baidu.com/%C4%FE%BE%B2%B5%C4%B7%B1%BB%AA/blog/item/deac821366ba9565cb80c441.htmlLD_LIBRARY_PATH:該 環境變數
Time of Update: 2018-12-04
題意:有N頭牛,每隻牛有一個測試值[S,E],如果對於牛i和牛j來說,它們的測驗值滿足下面的條件則證明牛i比牛j強壯:Si <= Sj and Ej <= Ei and Ei - Si > Ej - Sj。現在已知每一頭牛的測驗值,要求輸出每頭牛有幾頭牛比其強壯。 給你一些區間,問,對於給出的每個區間,有多少個區間是完全包含它的。
Time of Update: 2018-12-04
正解應該是DLX。可惜不會,比賽中有神牛用dfs+剪枝過的,還有人用隨機演算法過的。各種Orz.... 用了某大牛的dfs+剪枝,用二進位最佳化,好神奇、、、、 CODE:/*狀態壓縮+迭代加深搜尋*//*最小支配集*//*AC代碼:7437ms*/#include <iostream>#include <cstdio>#include <memory.h>#include <algorithm>#define ll(a) (a<<1
Time of Update: 2018-12-04
最近看PPS的時候發現一個問題,隨便開啟個視頻都會彈出一個IE視窗,地址是http://nc2052.directmusicsite.com/XXXXX.html。然後跳轉到其他頁面,真的狠煩。 用金山 殺毒 查木馬 都沒有效果。最後上網查了一下,可能是鐵通網路的問題。 解決辦法: 進入目錄C:\windows\system32\drivers\etc\,開啟hosts檔案,用記事本就可以開啟。 在最後面加入這麼幾行即可: 127.0.0.1
Time of Update: 2018-12-04
題意:給一棵樹,可以移動樹上的一條邊,但是必須保證移動之後的圖還是一棵樹,問如何移動才能使得移動之後的樹的直徑最短。思路:先在原樹上求直徑,然後枚舉直徑上的邊(因為要使其直徑變短只可能刪除直徑上的某條邊)。u->v.這樣原樹就被拆成兩個子樹。(1):分別求出兩個子樹的直徑du和dv.(2):在每棵子樹中求一點x。使這點到子樹中的其他任意一點的最長距離最短。由分析可知,這一點x一定在子樹的直徑上,且在直徑的中心兩點中的其中一點(證明如下)。(3):分別求出兩棵子樹的那兩個關鍵點x後。更新答案
Time of Update: 2018-12-04
題意:有T(T<10)組測試資料,然後有一個數字N(N<100000),接下來的一行裡有N個字元,每個字元是'('或')',有三種操作(1)"set l r c",表示將區間[l,r]裡的所有元素改變為c,c是'('或')'的其中一種。(2)"reverse l r",表示將區間[l,r]裡的'('與')'對調。(3)"query l r",表示查詢區間[l,r]是否為一個合法的括弧序列。
Time of Update: 2018-12-04
有上下界的網路流 這幾天看了周源的《一種簡易的方法求解流量有上下界的網路中網路流問題》,並完成了SGU 194&ZOJ 2314Reactor cooling,SGU 176 Flow construction和HOJ 2135&POJ 2396Budget三道題。 作為周源文章中提到的求解上下界網路的最小流和最大流問題中的入門題就是Reactor cooling這道求解無源匯網路的可行流,且在這個網路中,需要滿足B(u, v) <= f(u, v) <= C(
Time of Update: 2018-12-04
題意:有N根杆子,前後兩根杆子通過一個節點串連,每個節點可以旋轉一定的角度,每次給你一個操作(s,a)表示將第S與S+1之間的角度修改為a度,並且每次操作之後都需要求出第N個節點的位置。首先,最後一個節點的座標(即位置)可以通過所有杆子末尾的座標相加得到(這跟向量相加很類似)。因為每次更新需要修改S和S+1的位置,所以我們需要知道每次更新之後S和S+1的角度——查詢操作,知道之後,再根據這次需要修改的角度a,得到S+1到最後一段杆子需要改變的角度——更新操作。最後輸出答案即所以節點的x座標和,y
Time of Update: 2018-12-04
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stub menu.add(0, 1, 1, "當前位置"); menu.add(0, 2, 2, "地圖切換"); if(IsStart == STOPING) menu.add(0, 3, 3, "開始記錄"); else menu.add(0, 3, 3, "停止記錄");
Time of Update: 2018-12-04
一、下載1、PowerDesigner 12.5官方 http://download.sybase.com/eval/PowerDesigner/powerdesigner125_eval.exe 大小125 MB (132,006,349 位元組) 二、破解1、製作license.lic檔案拷貝以下內容,並儲存為license.lic檔案(注意副檔名是lic) FEATURE PD_SHELL SYBASE 12.50 permanent uncounted 1 TS_OK
Time of Update: 2018-12-04
題意:有三種操作“add x y”往平面上添加(x,y)這個點,"remove x y",將平面上已經存在的點(x,y)刪除,“find x y”找出平面上座標嚴格大於(x,y)的點,如果有多個點找x最小的,再找y最小的。第一次寫這種類似的線段樹,好處是省記憶體。#include <iostream>#include <cstdio>#include <cstring>#include <set>#include
Time of Update: 2018-12-04
題意:有三種類型的操作,1."add x"表示往集合裡添加數x。2.“del x”表示將集合中數x刪除。3.“sum”求出從小到大排列的集合中下標模5為3的數的和。集合中的數都是唯一的。線段樹。線上段樹中維護當前這個集合中數的個數cnt,和所有的數模5為0……4內的數的和設為mod[0...4]。在進行區間合并的時候,父區間裡的mod[0...4]首先等於左子區間裡的mod[0...4],設要加入的右子區間的數為mod[i],則它應該加到父區間的mod[左子區間的cnt+i]。#include