Time of Update: 2018-12-03
描述: 這是一個將svn與Visual C++ 6.0結合的一個項目,為了能不脫離IDE環境而正常使用svn的各種功能而做。實現方式: 通過add-in方式,將這兩個軟體結合起來實現功能: 1.能與svn伺服器上的當前檔案版本進行比較 2.查看當前編輯的檔案的曆史修改記錄 3.能夠更新當前檔案到最新版本 4.使用svn伺服器上的版本替換當前的版本 5.提交當前檔案的修改 6.更新整個工程檔案的所有檔案
Time of Update: 2018-12-03
這個算是關鍵路徑的模版題目了,解這個題目之前,首先說下關鍵路徑的含義,傳送門(度娘),個人的見解是,關鍵路徑就是木桶的短板問題,比如有一群人約好去某個地方,大家從同一個地方同一時間開始出發,有些人選擇騎車,有些人選擇走路,有些選擇公交。。。。。。那麼最遲到達的那個人需要的時間就相當於關鍵路徑。圖可能不是連通的,但這個不影響,我們只需要計算最長的那段以下是代碼,相當於在拓撲排序下求各個點到起點的最長路徑#include<stdio.h>#include<string.h>#
Time of Update: 2018-12-03
先按照左端點排序,再根據右端點進行合并。#include <stdio.h>#include <stdlib.h>typedef struct tInterval{int a;int b;}Interval;int N;Interval ins[50000];int unioned[50000];int cmp(const void* x,const void* y){//按左端點排序return
Time of Update: 2018-12-03
寫的程式越來越多的時候,發現其實大部分的程式都是比較類似的,而且多數的邏輯其實都是比較簡單的,很多的時候都是主要簡單的組合一下原來有的東西就可以搞定。所以一些常用的庫就很關鍵了。 庫不在多,有用就行。 1。Regex 只要你的程式裡需要解析字串,那麼這個就應該是必備的庫了。用了他之後,你就會發現有規律的文字檔是那麼可愛。 2。xml解析器以及操作庫
Time of Update: 2018-12-03
是一道無根樹轉化為有根樹的題目,暑假時迷迷糊糊的ac了,其實並沒有理解其實質,,今天又重新做了一遍,才知道原來無根樹轉化為有根樹實質就是一個深搜的過程,,把一條路徑上的點都找出即可。。。題目:在一個吝嗇的國度裡有N個城市,這N個城市間只有N-1條路把這個N個城市串連起來。現在,Tom在第S號城市,他有張該國地圖,他想知道如果自己要去參觀第T號城市,必須經過的前一個城市是幾號城市(假設你不走重複的路)。輸入第一行輸入一個整數M表示測試資料共有M(1<=M<=5)
Time of Update: 2018-12-03
額,比較水的動態規划了。從最後一位匹配,要麼是字母配字母,要麼是字母配空格,要麼是空格配字母,在三種方案裡選擇一個較大的就可以了。#include <stdio.h>#define INF -999999char a[101];char b[101];int score[5][5]={{5,-1,-2,-1,-3},{-1,5,-3,-2,-4},{-2,-3,5,-2,-2},{-1,-2,-2,5,-1},{-3,-4,-2,-1,0}};char dna[]="
Time of Update: 2018-12-03
Time of Update: 2018-12-03
/*遞推題,坑死我了。。。 遞推公式:a[n] = a[n-1] + n * (n + 1) / 2;* 還有一種情況:最底下一行頂角朝下的三角形* 觀察規律得:temp = (n-1) + (n-1)-2 + (n-1)-4... + last (n為奇數, last為2, 反之為1)* 所以a[n] = a[n] + temp*/ Problem : 1396 ( Counting Triangles ) Judge Status : AcceptedRunId : 7626
Time of Update: 2018-12-03
題目的意思是給你一堆小於關係,判斷能否根據給出的不等關係,找到所有元素的嚴格的升序序列。 我表達能力不是很好,舉個例子吧,以ABCD為例,如果給出(A<B A<C B<C C<D B<D A<B),那麼根據前4組就能得出A<B<C<D,這時候就找到這組資料的解了,輸出得到解時需要的最少的組數:4,以及得到的升序序列ABCD;如果給出的是(A<B A<C
Time of Update: 2018-12-03
石頭剪刀布1TimeLimit: 1 Second MemoryLimit: 32 MegabyteTotalsubmit: 73 Accepted: 30
Time of Update: 2018-12-03
/*普通母函數,求不同的等式個數*/Problem : 1028 ( Ignatius and the Princess III ) Judge Status : AcceptedRunId : 7619730 Language : C++ Author : CherryChouCode Render Status : Rendered By HDOJ C++ Code Render Version 0.01
Time of Update: 2018-12-03
/*母函數,求:X的指數 < = 50 的係數和*/Problem : 2082 ( 找單詞 ) Judge Status : AcceptedRunId : 7619556 Language : C++ Author : CherryChouCode Render Status : Rendered By HDOJ C++ Code Render Version 0.01
Time of Update: 2018-12-03
題目意思是給一堆木棍,每個木棍的兩個端點都塗上顏色,問能否將這堆木棍彼此相連組成一根大木棍,相連的條件是:如果兩個小木棍有顏色相同的端點,那麼可以通過顏色相同的端點將他們串連起來。比如題目給的例子:blue redred violetcyan blueblue magentamagenta cyan可以這樣連起來(blue magenta)(magenta cyan)(cyan blue) (blue red)(red violet)。
Time of Update: 2018-12-03
給一個數組,求兩段子序列,使他們的和最大。不是很難的動態規劃,對某個位置i,先求出以它為終點(也就是左側)的最大和的子串,儲存到l[i]吧,再求出以它為起點(也就是右側)的最大和的子串,儲存到r[i] 。然後根據r[i]計算出i右側的最大和的子串(這裡不一定是以i為起點的,只要起點在i右側的就可以,這是和r[i]的區別),r[i]可以複用,直接存到r[i]裡就可以了。然後枚舉下i的位置,計算出最大的。#include <stdio.h>#define INF -999
Time of Update: 2018-12-03
這個題可以增進對NEXT數組的理解,next【k】表示這個k前面有next【k】個字元和從0開始的k個字元相等,那麼我們只要從最後開始尋找,先尋找next【len】,然後找到了最長的那個,然後x=next【len】,尋找next【x】,為什麼從前面尋找等價於從後面呢?因為next【len】表示最後面的len個和最前面的next【len】個相等的,在前面找,相當於在後面尋找。把next數組開成了char類型,浪費了半個小時。揪心#include<stdio.h>#include<
Time of Update: 2018-12-03
蛋碎的一題,剛開始覺得挺簡單,摸過來就開始做了。設計狀態是dp(n,m),代表前n個人裡選m個時對應的最小的|D(J) - P(J)|,等做完提交發現不對,然後發現|D(J)-P(J)|這個壓根不滿足最優子結構啊,然後要全刪了重做。 後來參考了下discuss裡的思路,寫了三維的。dp(n,m,r)代表前n個裡邊選m個,使D(J)-P(J)==r,dp(n,m,r)記錄此時的D(J)+P(J) 。這地方因為r有可能是負數,所以要先做一下處理了。具體的寫法有點像背包。
Time of Update: 2018-12-03
二分圖最小點集覆蓋==二分圖最大匹配,,知道了這個公式,這道題就很水了。。。。。。。題目:AsteroidsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8487 Accepted: 4532DescriptionBessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x
Time of Update: 2018-12-03
比較簡單的動態規劃,基本和背包差不多,需要注意的地方是初始化,還有就是花必須要保證原來的順序。#include <stdio.h>#define INF -999999int F,V;int A[100][100];int d[100][100];int dp(int f,int v){if(d[f][v]!=INF){return d[f][v];}if(f>v){//花瓶不夠return INF;}if(f==v){//花瓶恰好夠,按順序放過來int
Time of Update: 2018-12-03
效率很低,本來半個小時可以搞定的題目,結果花了2個多小時DP不會,繼續記憶化搜尋,雖然效率和遞推的DP差了8倍,但是思路應該不會差距太大吧?#include<stdio.h>#include<string.h>int visited[12][100005];int month,hire,fire,salary,need[13];int dfs(int ,int );int main(){int
Time of Update: 2018-12-03
這個題真的挺難,起碼對於我來說是挺難,寫遞迴的時候實在是感覺無從下手啊,最後還是參考了別人的思路........#include <stdio.h>#include <string.h>#include <stdlib.h>int N;int stick[64];int used[64];int cmp(const void* x,const void* y){return