原创 菜鳥對於hash思想的總結

菜鳥對於hash思想的總結:      首先hash的作用就是爲了使所謂的訪問複雜度能夠達到O(1)水平。利用hash還要學會防止相應的衝突,也是映射能夠一一對應的保證。       常用的hash函數有:       1. 在解

原创 poj 2528(線段樹區間更新)

題意: 有n條線段按照順序進行覆蓋,問最後可見的線段有多少。 解題思路: 我們可以對每條線段編號,然後在線段樹內定義一個變量c,且c>0時表示當前該結點被第c種線段覆蓋,且c==-1表示當前結點被多種線段覆蓋,所以在統計時

原创 uestc Another LCIS(區間更新,區間合併)

題意: 求最長上升子序列的最大長度。 兩種操作: q: 某一段區間的最長上升子序列的最大長度爲多少 a: 某一段區間都加上val 解題思路: 如果單單求最長上升子序列,我們可以通過dp,或者分治的思想來求。因爲此處操作多,所

原创 hdu 4082

題意: 就是給你n個點,選三個點構成一個三角形,算相似三角形最多的有幾個。 解題思路: 因爲點最多隻有18個所以三個for,因爲判斷三角相似,所以只要將其的邊排序,然後算出三個角,進行比較即可。 注意: 判斷重點,判斷是否共線

原创 hdu 1043(八數碼問題)

<span style="font-family: Arial, Helvetica, sans-serif;">題意:省略</span>  解題思路:針對八數碼問題,如果x往左或往右走,是不會改變逆序數大小的,且往上或往下走只有三種情況

原创 hdu 4277

題意: 給你N個長度的木棍,這些木棍都要用上組成三條邊,並能構成三角形,問這樣所構成的三角形有多少個不同。 解題思路: 因爲N<=15,所以嘗試了一下暴搜,在判斷三角形是否存在重複時,規定的三邊的大小順序,然後構造hash,判

原创 hdu 1075

hdu 1075 題意: 就是用將火星文用英語代替。 解題思路: 利用字符串hash或map可求 注意: 無 //map 解法 #include <stdio.h> #include <string.h> #in

原创 hdu 1228

題意: 中文題。。。。(水題) 解題思路: 利用字符串hash或map可求 注意: 無 #include <stdio.h> #include <map> #include <stdlib.h> #include <

原创 hdu 2594

題意: 給你兩個字符串,判斷一個串的前綴是否是另一個串的後綴,求長度最長的滿足條件的串。 解題思路: 利用字符串hash可求 注意: 無 #include <stdio.h> #include <string.h>

原创 codeforces 430A

      題目原意: 在一維座標系下存在n(n>=1&&n<=100)個獨一無二的點和m(m>=1&&m<=100)條的線段,且第i個點的座標xi(xi>=0&&xi<=100),第j條線段的由[Li,Ri]表示。現在對這n個點進行塗色

原创 codeforces 430B

         題目意思:           媽祖遊戲,現有一個小球,他的顏色範圍x(x>=1&&x<=k)並且等待發射。在一個管道里有n個小球(n>=1&&n<=100),每個小球的顏色爲ci(ci>=1&&c1<=k),現在小球可

原创 hdu 1880

題意: 中文題。。。。 解題思路: 利用字符串hash或map可求 注意: 無 #include <stdio.h> #include <string.h> #include <stdlib.h> #include

原创 ACdream 1124 喵喵的遺憾

題意: 中文題。。。。 解題思路: fibonacci 模 p 的最小週期. 假設NP(m)表示m的最小週期,滿足:         NP(ab) = lcm(NP(a),NP(b)); 當且僅當(a,b)= 1;  

原创 poj 2886(線段樹單點更新)

poj 2886 題意: 有N個人,順時針圍成一個圈,現指定第K個人先跳出,然後報一個數A,A>0,表示從跳出的人(跳出的人不算)左邊第一個人開始的第A個人跳出,A<0,則相反,且之後跳出的人進行相同的步奏,現要求的是第i個人跳

原创 hdu 1394 線段樹單點更新

hdu 1394 題意: 有一個序列,a1,a2,.......,an,現在要使該序列經如下變換: a1, a2, ..., an-1, an (where m = 0 - the initial seqence) a2,