Time of Update: 2018-12-04
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=3518這個題目又是尾碼數組的一個應用,同樣和上面幾題一樣都是在height數組上做文章這個題目首先要明確一點就是題目要求求全部個數,那麼我們就可以按照我們的想法按照字串長度為1到(n+1)/2來枚舉枚舉的時候用到一最前面的一個題目的解題思路搞定重複問題,然後題目要求的字串不重疊問題就搞定了下面來說一下這樣搞為什麼能同樣長度的字串不重複其實這個也不用證明,因為能想的通,想一下,假設我們現在要求的是長度為
Time of Update: 2018-12-04
題目連結:http://www.spoj.com/problems/DISUBSTR/SPOJ 上還有一題,除了資料範圍不一樣其他的就都行:http://www.spoj.com/problems/SUBST1/把下面程式的maxn改成60000就OK了!第一次做spoj上的題目這個題目還是利用height數組,表示尾碼數組理解還是靠height數組的理解這個題目其實思路還是不太容易想到的,但是一下想到了就會變的暴簡單開始排名第一的串先上,那麼這個串一定會產生
Time of Update: 2018-12-04
題目連結:http://poj.org/problemstatus?problem_id=2965&start=120&orderby=time&language=-1這個題目也比較簡單,首先要明確一點,就是每一點翻轉的順序是沒有要求的,也就是一點要麼翻轉,要麼就不翻轉,和順序無關,明白了這一點這個題目就簡單了,一共就2^16種情況,用二進位位枚舉一下就OK 了,二進位1表示翻轉0表示不翻轉;其次就是一些技巧上的最佳化第一:求數字二進位為1的個數,這個用x&x-1
Time of Update: 2018-12-04
這個題目現在是用manacher線性演算法寫的,尾碼數組版本的還沒實現,打算過兩天搞定還是覺得這個算髮搞定迴文問題既好寫又快#include <iostream>#include <string.h>#include <stdio.h>using namespace std;#define MIN(a,b) (a<b?a:b)char str[2500];char rec[2500];int drome[2500];int main(){ int
Time of Update: 2018-12-04
題目連結:http://poj.org/problem?id=3295題目意思:給定你一邏輯運算式,讓你判斷這個式子是不是永真式這個題目對於有一點ACM基礎的孩子來說都算是比較簡單的一題但是我卻花了兩小時 wa了數次原因一:誤認為題目給的測試資料都會是保證從會面向前取值的時候都會滿足取值到兩個後(N除外)都會有一個邏輯符號等著他們,事實證明我錯了,我wa的傷心死了後來想到這點,但是不敢確定,就在default上測試那個條件 用個while(1)來測試,如果OJ返回逾時,那麼就說明我的猜想是對的,
Time of Update: 2018-12-04
要在DataGrid中使用DropDownList 需要使用到1。DataGrid的DataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs
Time of Update: 2018-12-04
Fermat Point in QuadrangleTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1460 Accepted Submission(s): 241Problem DescriptionIn geometry the Fermat point of a triangle, also called
Time of Update: 2018-12-04
早上寫了一個簡單的操作註冊表的類。現在帖出來讓大家幫我看看,有什麼問題請聯絡我。using System;using Microsoft.Win32;namespace PowerComponent{ /// <summary> /// 操作註冊表 /// </summary> public class Register { /// <summary> /// 執行個體建構函式 /// </summary> public Register(
Time of Update: 2018-12-04
在DataGrid建立項時(ItemCreated事件)使用Attributes屬性為按鈕添加確認提示框TableCell 表示Table控制項中的儲存格1.系統自動產生的刪除列private void DGMcusFind_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { switch (e.Item.ItemType) { case
Time of Update: 2018-12-04
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=1035表示這個題目很簡單,基本上沒什麼陷井,至於我wa了兩次是因為起點沒設定成1,也就是把回到起點的情況多加了1,有點不應該#include <iostream>#include <string.h>#include <stdio.h>using namespace std;#define maxn 20int map[maxn][maxn];char
Time of Update: 2018-12-04
Beauty ContestTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 24124 Accepted: 7364DescriptionBessie, Farmer John's prize cow, has just won first place in a bovine beauty contest, earning the title 'Miss Cow World'. As a result, Bessie will
Time of Update: 2018-12-04
題目連結:http://poj.org/problem?id=3368題意:給定n個升序數組,然後輸入查詢區間,要求輸出這個區間內相同數位最大個數解題思路:RMQ演算法其實這個題目想到怎麼用RMQ演算法就基本上搞定了,如果想不到那麼就要費事一點了其實這個題目痛點在於輸入的查詢區間不固定,有可能一串相連的的相同數位被查詢區間分割開了那麼這樣就比較麻煩了,處理起來也比較費事,可是稍微想一下,可以把一個查詢分開成兩個部分來查詢,一個是前面部分被分割的部分,一個是後面的部分在用RMQ初始化之間我們先做了
Time of Update: 2018-12-04
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=1154首先這個題目用到的知識點比較多,而且,思想也很好,精度也有要求,做這個題目對計算幾何的要求還是有一點的表示這個題目不是像杭電上標難度1的那麼好做;首先用到很多模板,模板的精度和正確性一定要保證其次就是這個題目到底是怎麼做解題思路:求出直線與所有多邊形的交點,然後按照交點排序,按照X從左至右排序,那麼任意兩個相鄰之間的點的連線線段如果在這個多邊形內部那麼中點一定是在這個多邊形內部,然後基本上注意幾
Time of Update: 2018-12-04
WeaponTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 144 Accepted Submission(s): 112Problem Description Doctor D. are researching for a horrific weapon. The muzzle of the weapon is a
Time of Update: 2018-12-04
INSERT INTOInsert Into table (c1,c2) select '1','2'UNION ALL select '2','3'UNION ALL select '4','5'Insert Into table(c1,c2) select c1,c2 from table2--下面是在SQL中,直接用SQL語句讀取幾種常見的檔案格式中的資料--/* 文字檔select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Text;
Time of Update: 2018-12-04
題目連結:http://poj.org/problem?id=3335這個題目意思就是給你一個多邊形,讓你判斷是否在多邊形內部存在一個點(或者一個地區)使得只要在這個地區內部就能觀察到這個多邊形內部的所有地方多邊形的邊是不透明的;對於這個題目一個很好理解的演算法就是不斷切割多邊形,維護一個可能是核心地區的一個多邊形點集,最後判斷點的個數>0就滿足條件,否則就不滿足條件如果當前點滿足在測試直線的一側,那麼把這個點加入當前點的集合,如果不在,那麼如果他的前一個或者後一個點在,那麼前後兩個直線和
Time of Update: 2018-12-04
題目連結:http://poj.org/problem?id=1228這個題目不好想,開始老是wa,後來不知道改了哪裡就AC了這個題目從範例可以看出給的凸包山的點不是按照順序來的,是隨便的一些點那麼我們就在這些點上建立凸包,那麼在建立凸包的時候我們不能隨便去掉邊也就是即使是可以去除的點也不能去掉,也就是傳統的graphm方法不能預先選擇結束之後要想這個凸包表示唯一那麼就不能在外部加任何一個點使其還能長成一個更大的凸包,這個就要求一個頂點與其前面兩個頂點或者後面兩個頂點至少有邊能共線,否則你就可以
Time of Update: 2018-12-04
題目連結:http://poj.org/problem?id=1861表示這個題目不想寫的,因為一看就是個最小產生樹問題,肯定能寫出來,後來想想這個英文題目看懂也不容易,就寫了吧以前寫最小產生樹都是用prim寫的,今天要還用prim就真沒意思了,換下克魯斯卡爾吧,正好複習下並查集,但是鬼知道題目給的範例竟然是錯的,鬱悶了一會後反正是Virtual judge,提交一下試試,過了!#include <iostream>#include <string.h>#include
Time of Update: 2018-12-04
題目連結:http://poj.org/problem?id=1936這題很水,留個足跡#include <iostream>#include <stdio.h>#include <string.h>using namespace std;#define maxn 100010char first[maxn],second[maxn];bool find_ans(){ int i,j,k; j=0; for(i=0;first[i]&
Time of Update: 2018-12-04
題目大意:題目給出n個點,求出有多少點滿足沒有橫縱座標同時大於等於這個點的個數。也就是在這所有的點中,這樣的點有多少個?什麼樣的點呢?設這個點(x0,y0),那麼如果不存在(x,y)使得x>=x0並且y>=y0,那麼這就算一個點,求出所有這樣的點。 演算法:我們可以豎杆子,什麼意思,就是如果x相同,那麼按照y從小到大排序。那麼我們會發現x-y座標軸上是一根根杆子,那麼我們從後面開始,第一個點肯定算一個,因為他的x和y都是最大的,沒有誰大過它。