原创 HOJ 1081 Scramble Sort

字符串處理。。題目就不介紹了。應該是一道比較水的題,思路很簡單,就是排個序。 但是有很多細節要注意,也很考驗一些基本功。 1.注意字母排序時是不區分大小寫的。本來想用現成的sort,但是處理二維數組,並且還要忽略大小寫,本弱菜不知道該怎麼

原创 HOJ 3034 Mysterious (二分)

這道題比賽當時沒做出來。後來聽jingo講了用二分,試了一下,過了。 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include

原创 HOJ 2608 Assemble(二分)

用一個結構體保存每一個部件,包括quality,price,name,type. 先按quality降序排序,注意排序的時候不要將同類的部件打散,要保證同一類部件連在一起。 再用componets數組,記錄從i到j是哪一個部件。如c

原创 HOJ 2576 Simple Calculation 容斥原理(DFS)

輸入兩個數n,m,再輸入一個有n元素的集合x[n]。求從[1,m]中有多少個數,能被x[n]中至少一個數整除。 這題利用了容斥原理。容斥原理在編程中實現起來一般有dfs+剪枝和按位運算兩種。按位運算易於調試,但是不適於大數據量。 第一

原创 HOJ 1456 Team Queue(用queue進行模擬)

這題用的是queue,還有用了map實現將不同的人分到若干組。queue裏的元素還是queue,這樣就能實現插隊的功能了,直接在特定的queue後面push即可。這裏還用了一個bool型的visit數組,用來記錄這一個team中是否有人

原创 HOJ 2064 Journey to Tibet (DFS)

題目中要求只要兩個村莊間的距離小於等於30就可以轉移。而剛開始我以爲這個人最多隻能走30,轉移的路超過30之後就不能再轉移了。剛開始用的BFS,怎麼寫都超時。後來發現看錯題了之後,果斷換成了DFS,然後才AC。本來挺簡單的一道,浪費了大半

原创 HOJ 2278 IP Filtering (二分)

HOJ 2278 主要思路:將IP地址看成4位256進制的數,轉化成十進制,一個segment就是一個區間。 先將所有的segment按左端點升序排列,如果幾個segment有重疊,則將它們合併成一個區間。 int dn=0;

原创 HOJ 1447 Compromise (DP)

是一道要記錄公共子序列內容的DP。 狀態轉移方程部分: for(int i=1; i<=len1; i++) { for(int j=1; j<=len2; j++)

原创 亂七八糟

#line line_number "filename" 語法: #line line_number "filename" #line命令是用於更改__LINE__ 和 __FILE__變量的值. 文件名是可選的. __LINE__

原创 Ordered Fractions(二叉搜索樹)

題意:輸入一個n,按從小到大的順序輸出從0到1之間的所有分母不大於n的最簡分數。 比較容易想到的是排序。可以用結構體表示一個分數,將所有符合條件的分數都存到數組裏,然後sort一下,輸出就行。注意cmp函數的寫法 bool cmp(no

原创 線段樹基本應用——區間最值查詢

感覺對線段樹快有陰影了。。還是先從最簡單的開始吧。關鍵是理解原理。 求區間最小值: 題目: 2 //testcases   5 3  //n:數組元素個數,m:查詢次數 78 1 22 12 3  //輸入數組,每個數最大值不超

原创 對printf和cout一點理解

printf是從內存中獲取待輸出的內容後,直接調用I/O設備進行輸出; 而cout在獲取待輸出的內容後,先將該內容拷貝到緩衝區,然後再將緩衝區裏的內容輸出到I/O設備。這樣,它輸出的東西在內存中都是連續的,這也是它爲什麼叫作流輸出。 每次

原创 關於函數的參數傳遞

首先看如下代碼: void creatBtree(Node* head) //按前序生成樹。 { head=new Node(); Node* p=head; int t; scanf("%d",&t);

原创 LeetCode Palindrome Partitioning II

class Solution { public: int minCut(string s) { int n = s.size(); bool p [n][n]; memset(p,0

原创 HOJ 1653 Heavy Transportation&& HOJ 1460 Heavy Cargo (Dijkstra 單源最短路)

題意:給出了城市數n,以及街道數m(街道是雙向均可通行的), 對於每一條街mi,給出它的兩端的城市,以及所能承載的最大貨物運輸量。 要求輸出,從城市1到城市n,最多能運輸多少貨物。 分析:無向、帶權圖的單源最短路問題。 但這裏路徑的定義