日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hdu(杭电oj)第一页题目题解

發(fā)布時間:2024/3/13 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdu(杭电oj)第一页题目题解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第一頁有幾題沒寫,有機會補上(嗯,忘了就是另一回事了)。

這個是無聊的時候刷了第一頁。。存到博客上當(dāng)做紀(jì)念吧。。


hdu1000 簡單題 難度1
計算a+b的值


hdu1001 簡單題 難度1
計算1+2+...+n


hdu1002 簡單題 難度1
大數(shù)a+b


hdu1003 dp 難度2
最大連續(xù)子序和


hdu1004 簡單題 難度1
求出現(xiàn)次數(shù)最多的字符串。
方法:
簡單方法是應(yīng)用map


hdu1005 簡單題 難度1
求f(n)=(A*f(n-1)+B*f(n-2))mod 7。
方法:
由于只是對7取余,所以可以(f(n-1)%7,f(n-2)%7)最多49種,會構(gòu)成長度小于49的循環(huán),之后直接推導(dǎo)即可。也可以用矩陣連乘的方法解決(最簡單的矩陣連乘,如果學(xué)過,這個方法最簡單)。


hdu1006 數(shù)學(xué),枚舉 難度6
給定一個度數(shù)n,問一天24小時,時針,分針和秒針分別與其余兩針分離都大于n的時間占一天時間的百分比。注意時間是連續(xù)的。
方法:
這題主要的難度在于找到簡便的方法。比較有效的方法就是理解每次所有的針從有重合到再次有重合至多有一段連續(xù)的段符合三針分離度大于n。然后枚舉每個重合到重合的時間段。
題解鏈接:http://blog.csdn.NET/a601025382s/article/details/37814777


hdu1007 最近點對 難度2
求n個點鐘最近的點對距離的二分之一。
方法:
直接套模板。也可以學(xué)下分治方法。
題解鏈接:http://blog.csdn.net/a601025382s/article/details/37822795


hdu1008 簡單題 難度1
有一架電梯,上一層需要6秒,下一層需要4秒,停一層需要5秒,給定一個序列,問電梯運行完成需要多久。電梯起始位置為0層,最后不需要回到0層。


hdu1009 簡單題 難度1
有m個房間,里邊有x物資xi,需要yi的y物資交換,現(xiàn)在有n個y物資,問最多能換多少?可以按比例交換,不需要整個房間交換。
方法:
按價值排序,從優(yōu)交換即可。


hdu1010 dfs 難度2
走迷宮,路只能走一遍,門只能在特定時間t。
方法:
特別注意剪枝,
1)當(dāng)時間到t卻還沒到門口,那之后就不用再走了;
2)從起點到門的最短距離為d,那么中間無論怎么亂走都是d+2*x的步數(shù)(想想就能知道),即d與t同奇同偶,一開始可以排除大部分情況;
3)路的個數(shù)比t小,也可以排除


*hdu1011 樹形DP


hdu1012 簡單題 難度1
無輸入,只要輸出0<=n<=9時的所有函數(shù)值e即可


hdu1013 簡單題 難度1
給定一個數(shù),將這個數(shù)的各個位數(shù)相加,如此反復(fù),直到數(shù)字為個位數(shù)為止。


hdu1014 簡單題 難度1
方法:
思維題,想到只有兩數(shù)互質(zhì)才能出現(xiàn)good choice情況,所以只要判斷兩數(shù)是否互質(zhì)即可。輸出用%10d


hdu1015 枚舉/dfs 難度1
輸入整數(shù)n和大寫字母字符串,在字符串中找出5個字符,將其轉(zhuǎn)換成1~26的數(shù)字,使得公式v-w^2+x^3-y^4+z^5=n。
方法:
用dfs枚舉所有情況,復(fù)雜度最高為12^5,這題需要注意的是輸出結(jié)果取字典數(shù)最大的,所以需要先將字符從大到小排序。


hdu1016 dfs 難度2
給定一個數(shù)n,將1~n的數(shù)構(gòu)成一個環(huán),使得任意兩個相鄰的數(shù)之和為素數(shù)。
方法:
先預(yù)處理出所有兩兩相加為素數(shù)的數(shù)對。然后從1開始用dfs枚舉下一個數(shù),直到構(gòu)成環(huán)。
題解鏈接:http://blog.csdn.Net/a601025382s/article/details/37922231


hdu1017 枚舉 難度1
找出所有a,b(0<a<b<n),使得(a^2+b^2 +m)/(ab)是一個整數(shù)。
方法:
枚舉所有的a,b即可。注意格式,每兩個測試示例之間有一個空行。


hdu1018 數(shù)學(xué) 難度1
給定整數(shù)n(1<=n<=1e7),求n!的長度。
方法:
用ans=log10(n!),ans的整數(shù)部分+1就是n!的長度
(ans分成整數(shù)部分a和小數(shù)部分b,那么n!=10^(a+b)=(10^b)*10^a,10^b為整數(shù)位為1位的小數(shù),相當(dāng)于科學(xué)技術(shù)法,那么長度就是a+1了)。
這個方法耗時很長,984MS。。


hdu1019 數(shù)學(xué)/最小公倍數(shù) 難度1
給定n個數(shù),求這n個數(shù)的最小公倍數(shù)
方法:
逐個求最小公倍數(shù)即可。


hdu1020 簡單題 難度1
給定一個大寫字母字符串,將字符串中連續(xù)的相同字母,裝好成kX形式。k表示連續(xù)的個數(shù),個數(shù)為1時省略k,X為連續(xù)的字母。


hdu1021 簡單題/循環(huán) 難度1
已知F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2),給定一個整數(shù)n,求F(n)是否能被三整除。
方法:
1.將每個F(i)對3取余,會發(fā)現(xiàn),f(i)會在0,1,2上構(gòu)成循環(huán)。(1,2,0,2,2,1,0,1,)1,2,...發(fā)現(xiàn)8個一循環(huán)。
2.直接矩陣連乘求的。


hdu1022 堆棧 簡單1
給定兩個字符串a(chǎn)和b,問能否通過堆棧的方式將a變成b
方法:
直接堆棧即可。注意堆棧要清空。


hdu1023 dp/卡特蘭數(shù) 難度2
一個棧(無窮大)的進棧序列為1,2,3,…,n,有多少個不同的出棧序列
方法:
1.dp。dp[i][j]=dp[i-1][j-1]+dp[i-1][j+1];入棧+出棧共i次,入棧比出棧多j次
2.卡特蘭數(shù)。結(jié)果符合卡特蘭數(shù)規(guī)律,可以直接套用卡特蘭數(shù)公式。
結(jié)果太大,需要大數(shù)處理。也可以直接打表。
題解代碼:http://blog.csdn.NET/a601025382s/article/details/37928449


hdu1024 dp 難度3
輸入m和n,給出一個n長數(shù)字序列。問m個不交叉連續(xù)段之和最大為多少。
方法:
dp。
dp[i][j]表示前j個序列數(shù)字,找出i段,且a[j]包含在段內(nèi)時,最大的和。
dp[i][j]=max(dp[i][j-1]+a[j],max(dp[i-1][k])+a[j])(0<k<j);
題解鏈接:http://blog.csdn.net/a601025382s/article/details/37931599


hdu1025 最長上升子序列(dp) 難度2
對于兩條平行線上的點,求最大的一對一連線,使得所有連線都不相交。
方法:
根據(jù)第一條線的序號從小到大排序,求相對應(yīng)的第二根線序列的最長上升子序列即可。
注意:輸出時,一條線的時候用road,多條線的時候用roads
題解鏈接:http://blog.csdn.Net/a601025382s/article/details/38032251


hdu1026 bfs 難度2
給定一個迷宮n*m,求從(0,0)到(n-1,m-1)。其中在經(jīng)典迷宮上加了數(shù)字'n',表示在這個格子中有怪物,需要號n秒去打敗才能繼續(xù)前進。
方法:
由于在BFS的時候,不是最先到達(dá)就是最短時間,所以標(biāo)志vis[i][j]表示的意義變?yōu)榈竭_(dá)(i,j)的最短時間。當(dāng)出現(xiàn)耗時大于vis[i][j]的路徑時可以省略。
題解代碼:http://blog.csdn.net/a601025382s/article/details/38034615


hdu1027 DFS/STL 難度2
給定一個序列1,2,...,n作為第一個序列,n長序列共有n!個排列。求字典序排列后,第m個序列。
方法:
1)由于排列數(shù)是n!,所以8個數(shù)的排列就必定大于m(1<=m<=10000)了,用DFS找出8個數(shù)的前10000種排列即可。其他的n可以通過n=8來推導(dǎo)出來。
2)直接使用STL中的函數(shù)next_permutation(a,a+n)得到下一個序列。
兩種方法這題耗時都是15MS,不過第二種寫法簡便,而第一種對大量數(shù)據(jù)時比較有效


hdu1028 母函數(shù)/dp 難度2
整數(shù)劃分n。
方法:
1)母函數(shù)。g(x)=(1+x+x^2+...)*(1+x^2+x^4+..)*...*(1+x^n),其中x^n的系數(shù)就是答案
2)dp。dp[i][j]表示將i劃分成1~j有多少種方式。dp[i][j]=dp[i][i](j>i),dp[i][j]=dp[i][j-1]+dp[i-j][i](j<=i);
題解代碼:http://blog.csdn.net/a601025382s/article/details/38057901


hdu1029 簡單題 難度1
求n個數(shù)中,出現(xiàn)次數(shù)不小于(n+1)/2的數(shù),n為奇數(shù)。
方法:
排序后,直接查找每個數(shù)的個數(shù)。


hdu1030 簡單題 難度1
找出兩個數(shù)m和n間的距離。
方法:
我們把上下兩個相連的三角形構(gòu)成的菱形看做一個格,右斜線看做橫坐標(biāo),有斜線看做縱坐標(biāo),也是四個方向(0,-1),(0,1),(-1,0),(1,0)變化,
那么就相當(dāng)于直角坐標(biāo)了。
從(x1,y1)到(x2,y2),這是斜角坐標(biāo),距離dis=abs(x1-x2)+abs(y1-y2);我們還需要考慮菱形中的移動,這個都是一層移動一次。
所以答案ans=dis+abs(a-b)=abs(x1-x2)+abs(y1-y2)+abs(a-b),其中a和b表示各自層數(shù),x1,y1,x2,y2表示兩個數(shù)所在菱形在斜角坐標(biāo)系的位置。




hdu1031 簡單題 難度1
給定n個人對m間衣服元素的滿意度,選擇總滿意度最大的k件(總滿意度相同時選擇序號較小的),從大到小輸出衣服元素序號。
方法:
二次排序。


hdu1032 簡單題 難度1
給定一個范圍[i,j],問這個范圍內(nèi)最大的循環(huán)數(shù)。循環(huán)數(shù):n是奇數(shù)就n=n*3+1,n是偶數(shù)就n=n/2,直到n=1,總的操作步數(shù)就是循環(huán)數(shù)。
方法:
直接暴力求出范圍內(nèi)所有的數(shù)的循環(huán)數(shù),輸出最大的。


hdu1033 簡單題 難度1
輸入由'A'和'V'組成的字符串。A表示順時針轉(zhuǎn)90度,V表示逆時針轉(zhuǎn)90度。開始位置(310,420),方向向右


hdu1034 簡單題 難度1
有n個小孩,起始每個小孩都有偶數(shù)顆糖果。每次操作,小孩都將自己一半的糖果給右邊的孩子,然后奇數(shù)糖果的小孩從老師那拿到一顆糖果。
問經(jīng)過多少次操作,每個孩子手中的糖果一樣多。
方法:
模擬操作即可。


hdu1035 簡單題 難度1
給定一個n*m的矩陣,矩陣由ESWN字母組成,表示方向。再輸入k,表示機器人從矩陣北方第k格進入。每前進一格,機器人根據(jù)格子中的字母改變方向。
問需要多少時間才能走出矩陣,或者走幾步后會陷入幾步的循環(huán)。
方法:
模擬走法,用vis[i][j]記錄走到(i,j)時花的時間,以及標(biāo)記走過,用來判斷是否成環(huán),以及環(huán)長。用num記錄已經(jīng)走過的步數(shù)。


hdu1036 簡單題 難度1
給定圈數(shù)n,總距離d。之后輸入隊伍編號num,每圈的耗時。求平均每km需要多少時間。
注意:格式,%3d表示占3格,%02d表示占兩格,不滿則前補0。最后的時間四舍五入。


hdu1037 簡單題 難度1
輸入三個地下通道的高度,問是否有不大于168的,若有輸出最前面的一個。


hdu1038 簡單題 難度1
給定直徑d英寸,圈數(shù)r圈,時間t秒,問自行車行駛的距離,以及時速。
注意:單位的轉(zhuǎn)換。


hdu1039 簡單題 難度1
給定一個字符串,判斷是否符合下列規(guī)則
1)至少存在一個元音
2)不存在連續(xù)三個元音,也不存在連續(xù)三個輔音
3)不存在連續(xù)兩個相同的字母,除了oo和ee


hdu1040 簡單題 難度1
給定一個序列,升序排列后輸出。
方法:
直接調(diào)用STL中sort方法,時間復(fù)雜度nlogn


hdu1041 簡單題 難度1
從1,開始,變化規(guī)律為0變成10,1變成01,經(jīng)過n次變換后,問連續(xù)的0有多少個。例:1->01->1001->01101001
方法:
列舉前面幾次的變換,得到數(shù)據(jù)0,1,1,3,5,11,21,...發(fā)現(xiàn)規(guī)律f[i]=f[i-1]+2*f[i-2],預(yù)處理出來,當(dāng)i=1000時很大,需要大數(shù)處理。
結(jié)果可以打表輸出。


hdu1042 大數(shù) 難度2
求n!,數(shù)據(jù)太大,需要大數(shù)處理。
方法:
由于n=10000時,長度達(dá)到40000,所以不能一位存儲,需要一次存儲多位。選5位長度可以避免64位。
注意:輸出時,需要補齊長度,用%05d


hdu1043 雙向BFS/A*算法 難度3
給定一個長度為9的序列,表示3*3矩陣,由1~8數(shù)字和字母x組成。每次操作x都可以與相鄰的數(shù)字交換,問需要通過怎么樣的操作才能使序列變?yōu)閧1,2,3,4,5,6,7,8,x}
方法:
1)雙向BFS
需要通過8個數(shù)字的逆序數(shù)的奇偶性來特判是否能成功變換得到結(jié)果。
需要將9個字母的組成的序列轉(zhuǎn)換成數(shù)字,表示序列在排列中的第幾個,總共360000左右各數(shù),便于哈希。
雙向bfs,縮短時間,但耗時仍舊很長
2)A*算法
通過估計函數(shù)縮短時間的求最短路算法,BFS是A*算法中的特例。
題解代碼:http://blog.csdn.net/a601025382s/article/details/38091457


hdu1044 bfs+狀態(tài)壓縮/bfs+dfs 難度2
有一個迷宮,需要在規(guī)定時間離開,在離開前盡可能拿到珍寶,問最大能拿到的珍寶價值和為多少。
方法:
1)bfs+狀態(tài)壓縮
將珍寶狀態(tài)壓縮,用l位二進制表示l個珍寶的獲取狀態(tài),每次獲得珍寶時,轉(zhuǎn)換狀態(tài)。這種方法耗時很高。
2)bfs=dfs
用bfs找出起點到各個珍寶以及出口的最短路徑,找出各個珍寶到其他珍寶和出口的最短路徑。
然后dfs找出其中價值最高,但耗時不超過時間t的路徑。
題解代碼:http://blog.csdn.net/a601025382s/article/details/38116577


hdu1045 枚舉 難度1
給定一個n*n的矩陣,里邊存在墻和路,在路上放盡可能多的炮(能攻擊四個方向的所有炮,除了被墻擋住)使得沒有炮能攻擊到其他炮。
方法:
枚舉t(1<=t<2^(n*n)),t轉(zhuǎn)換成二進制,1表示該位置放炮,0表示不放炮,判斷是否可以成立,找出最大放炮數(shù)。


hdu1046 簡單題 難度1
給定n*m的格點,問從一個角開始,遍歷所有的點一次然后回到起點的最短距離。
方法:
若n是偶數(shù),我們可以將m的最后一列留出來和n的最下面一行,為了回來,而剩余的段走S形完全遍歷;m是偶數(shù)時同理,共n*m。
若都是奇數(shù)時,上述走法就不能成立,必須走一次斜線,才能變成上面的情況。共n*m-1+sqrt(2)。


hdu1047 簡單題 難度1
大整數(shù)加法。


hdu1048 簡單題 難度1
將給定的字符串,通過特定編碼,轉(zhuǎn)換成另一字符串。


hdu1049 簡單題 難度1
一個井深n英寸,一只蟲子每分鐘爬u英寸,然后休息一分鐘,滑下d英寸,問多少分鐘后蟲子能爬出井。
方法:
小學(xué)數(shù)學(xué)競賽題,不斷做,不斷錯,哎,小學(xué)的時候不長記性啊。。


hdu1050 簡單題 難度1
兩個走廊,兩邊各200各房間,一邊編號1,3,5...,現(xiàn)在是從一個房間搬到另一個房間,耗時10分鐘,
當(dāng)搬運過程與其他搬運過程公用相同部分走廊時需要分次序搬運,問最少需要耗時多久。
方法:
找走廊各房間前最大重疊次數(shù)就可以了。


hdu1051 貪心 難度1
給定一堆木棍,處理第一根木棍需要準(zhǔn)備1分鐘,處理時間不記,每根木棍都有長度l和質(zhì)量w,當(dāng)下次處理的木棍l'>l且w'>w,則不需要準(zhǔn)備時間。求處理所有木棍的時間。


hdu1052 dp 難度3
田忌賽馬,勝得200分,平0分,負(fù)-200分。已知戰(zhàn)斗力,現(xiàn)在需要安排順序使得得分最高。
方法:
最開始想用貪心,但后來發(fā)現(xiàn)在有很多相等速度馬的情況下,很難貪心出來。所以需要用dp。
dp[i][j]表示打了i場比賽,用了j匹慢馬(從最慢的開始用)和i-j匹快馬(從最快的開始用)時的最優(yōu)成績。
原理:也算是一種變著法的貪心把。我們將國王的馬從大到小排序,我們要么用最好的馬戰(zhàn)勝掉,要么用最差的馬頂?shù)簟?br /> 若不用最差的馬還是輸了,那最差的馬還是要輸給別的馬,當(dāng)然用最差的馬好;若沒有輸,那用好馬戰(zhàn)勝,也用這匹馬戰(zhàn)勝的效果相同,都比國王剩下的馬都強。
若不用最好的馬去戰(zhàn)斗,若不能戰(zhàn)勝那肯定不用說是費的;若能戰(zhàn)勝,那么肯定也能戰(zhàn)勝國王剩余的馬,保留這匹馬和保留最最好的馬的效果一樣。
dp[i][j]=max(dp[i-1][j]+judge(n-i+j,i-1),dp[i-1][j-1]+judge(j-1,i-1));
題解代碼:http://blog.csdn.net/a601025382s/article/details/38125045


hdu1053 哈夫曼樹 難度1
給定一個字符串,每個字符占8位,求用哈夫曼樹編碼后的總占位數(shù)以及壓縮比。
方法:
哈夫曼樹處理時,先找出所有的字符,以及其出現(xiàn)的次數(shù),作為節(jié)點,全部加入隊列。每次處理是取出現(xiàn)次數(shù)最少的兩個節(jié)點,指向一個新節(jié)點,
將這個新節(jié)點加入隊列,直到隊列中只剩一個。這樣就能原節(jié)點和新節(jié)點構(gòu)成一顆二叉樹。編碼時二叉樹左連線編碼0,右連線編碼1,編碼所有連線。
那么一個節(jié)點的編碼就是到根節(jié)點所有連線上編碼的組合。


hdu1054 最大匹配 難度2
給定一顆樹,求最小頂點覆蓋。
題解:
樹必定可以劃分成二分圖,二分圖最小頂點覆蓋=二分圖最大匹配。
題解代碼:http://blog.csdn.net/a601025382s/article/details/11265531


*hdu1055 貪心 難度5




hdu1056 簡單題 難度1
給定數(shù)字a,找出最小的n,使得1/2+1/3+...+1/n大于a。


hdu1057 模擬題 難度1
給定天數(shù)n,給定D[0]~D[15]給定一個20*20的矩陣,每個格子內(nèi)有一個0~3的數(shù)字,表示細(xì)菌數(shù)。
每天,每個格子將加上D[k],k表示這個格子以及上下左右相鄰格子的細(xì)菌之和(矩陣外格子算作0個細(xì)菌,每格細(xì)菌個數(shù)不能超過3,不能低于0)。
問n天后的細(xì)菌情況。


hdu1058 簡單題 難度1
將質(zhì)數(shù)因子只有2,3,5或7的數(shù)稱為謙遜數(shù)。現(xiàn)在輸入n,輸出第n個謙虛數(shù)。
方法:
預(yù)處理出所有謙遜數(shù)。
注意:輸出的個數(shù),n是尾數(shù)11,12,13時是th,其他尾數(shù)是1,2,3的是st,nd,rd。


hdu1059 多重背包 難度1
有6種石頭,價值1~6,已知石頭的個數(shù),問能夠平分成等價值兩份。
方法:
多重背包,可以用做學(xué)習(xí)多重背包的基礎(chǔ)題目。


hdu1060 數(shù)學(xué) 難度1
給定整數(shù)n(1<=n<=1000,000,000),求n^n的最左邊的數(shù)字是多少。
方法:
ans=log10(n^n)=nlog10(n),將ans分整數(shù)部分和小數(shù)部分ans-=(LL)ans(其中LL 是__int64,會爆int32),
那么10^ans就是n^n前端,且只有整數(shù)部分只有一位的浮點型,答案就是(int)ans;


hdu1061 數(shù)學(xué) 難度1
給定整數(shù)n,求n^n的末尾數(shù)字多少。
方法:
末尾數(shù)字只有n的末尾數(shù)字有關(guān),且會構(gòu)成循環(huán),找循環(huán)輸出即可。


hdu1062 簡單題 難度1
輸出一行字符串,將每個的字符串逆序輸出。
注意:用gets讀入,要用getchar()接收換行符。空格可能存在前后,單詞間空格可能多個,多余空格不能刪除


hdu1063 數(shù)學(xué) 難度2
給定一個浮點型數(shù)a,整數(shù)n,求a^n,要求不丟失精度。
方法:
先將小數(shù)點去掉,剩下整數(shù),作大數(shù)乘法,再加上小數(shù)點,增加小數(shù)部分不夠的零以及刪除小數(shù)部分后導(dǎo)零。
注意:輸出結(jié)果是整數(shù)時,后面不能跟小數(shù)點。輸出結(jié)果小于1時,整數(shù)部分的0不輸出。


hdu1064 簡單題 難度1
輸入12個浮點數(shù),求它們的平均值。


hdu1065 簡單題 難度1
給定一個坐標(biāo)(x,y),一個半圓從原點開始,每年漲50面積,問多少年漲到(x,y)。
注意:該題pi=3.1415926,輸出后面沒有空格。


hdu1066 數(shù)學(xué)題 難度3
求n!最后一位非零數(shù)。




*hdu1067 哈希+bfs 難度3
將整個表哈希,然后BFS,每次走一步。


hdu1068 最大獨立集(二分圖匹配) 難度2
給定n個人之間的關(guān)聯(lián),問最大子集,使得子集的所有人都沒有相互關(guān)聯(lián)。
方法:
最大獨立集模板題。最大獨立集=n-最大匹配。由于本身的圖可能不是二分圖,所以需要鏡像所有點,原有點和鏡像點的關(guān)系就是二分圖。
最大匹配為ans,那么最大獨立集就是n-ans/2(為本身是二分圖的一半);


hdu1069 dp 難度1
給定n種箱子,每種箱子個數(shù)不限,每個箱子三邊分別為(xi,yi,zi),分別表示長寬高,箱子可以旋轉(zhuǎn)使得長寬高交換。
兩個箱子i,j,只有i.x>j.x&&i.y>j.y,j箱子才能放到i上方,問最高隊可以堆疊多高。
方法:
將一個箱子轉(zhuǎn)換成6種固定長寬高的箱子,然后對箱子以x從小到大排序(x相等時可以根據(jù)y來排序),然后dp。dp[i]表示已第i個箱子為底最高能堆得高度。
dp[i]=max(dp[i],dp[k]+e[i].z),(0<=k<i)。


hdu1070 簡單題 難度1
超市有n種牛奶,價格pi,體積vi,每天喝200ML牛奶,當(dāng)盒子中牛奶小于200ML時會被丟棄,當(dāng)牛奶超過5天時會被丟棄。
問最便宜(總價/能夠喝的天數(shù))的牛奶,當(dāng)存在多個價格最小牛奶時,輸出體積最大的一個。
方法:
體積小于200ML的牛奶價格價格計無窮,當(dāng)體積大于1000ML時計1000MS(超過5天的不能喝)。求出所有單價之后排序。


hdu1071 數(shù)學(xué) 難度1
已知拋物線頂點P1和直線相交的兩個交點P2,P3,求拋物線與直線之間的面積。
方法:
y=a*x^2+b*x+c,積分∫y=1/3*a*x^3+1/2*b*x^2+c*x。積分求得拋物線[x2,x3]之間的面見,減去P2,P3與橫坐標(biāo)構(gòu)成的梯形面積就是答案了。


hdu1072 bfs 難度2
一個迷宮里,一個人身上存在定時炸彈,定時6秒,迷宮內(nèi)存在重置器地點,到達(dá)地點后可以將時間重置為6s秒,求最短的時間逃出迷宮,逃不出去輸出-1.
方法:
用key表示各種狀態(tài)(到達(dá)重置器位置時更改狀態(tài),因為以前的標(biāo)識無效了),將到達(dá)的重置位置設(shè)置為墻(回來這個位置沒有意義)。之后就是正常的bfs。
題解代碼:http://blog.csdn.net/a601025382s/article/details/37959971


hdu1073 字符串 難度1
匹配字符串,輸出ac,pe,wa三種狀態(tài)。


hdu1074 dp+狀態(tài)壓縮 難度2
修斯有n(1<=n<=15)個作業(yè)要趕, 每個作業(yè)都有一個限期和完成需要的時間,當(dāng)作業(yè)超過時限還沒有完成的時候,每超過一天,
這門課的老師會扣除這門課期末成績1分。問如何安排作業(yè)可以使扣除的分?jǐn)?shù)最少,若存在多種情況,按作業(yè)排前的優(yōu)先,即作業(yè)序號字典優(yōu)先。
方法:
狀態(tài)壓縮n個作業(yè)為i,i在二進制下第j位是1時,表示第j個作業(yè)已經(jīng)被完成,否則沒有。
之后dp[i].num=min(dp[i].num,dp[k].num+e[j].t)((k|j)==i&&(k&j)==0)
題解代碼:http://blog.csdn.net/a601025382s/article/details/38277027


hdu1075 字符串 難度1
給定字符串翻譯字典,給定一行字符,將這行中存在于字典中的字符串翻譯,其余不改變輸出。
方法:
用map映射單詞,遍歷一行字符,找出字符串后判斷map中是否存在后輸出。


hdu1076 簡單題 難度1
已知y和n,y表示當(dāng)前是第幾年,問之后n個閏年是什么時候。
方法:
預(yù)處理20000個閏年f[i],二分查找y是第k個,輸出f[k+n]。


*hdu1077 計算幾何 難度3
用半徑為1的漁網(wǎng)捕獲盡可能多的魚。


hdu1078 dfs 難度2
有個n*n的矩陣,每個格子當(dāng)中有一個體積為e[i][j]的奶酪,一只老鼠從(0,0)位置出發(fā),每次只能往橫坐標(biāo)方向走或者只能往縱坐標(biāo)方向走,
每次至多走k步,下一步位置的奶酪體積必須比上一次的奶酪體積要大。求最多能吃到多少體積的奶酪。
方法:
用dfs搜索路徑,由于每次都只能吃更大的體積的奶酪,所以不會出現(xiàn)回到已經(jīng)經(jīng)過位置的情況。可以用數(shù)組dp[i][j]保存(i,j)位置最大搜索值,
即記憶化,別的方向的搜索搜到這個位置的時候可以直接調(diào)用dp[i][j]而不用再次搜索,節(jié)約時間,稱為記憶化搜索。
題解代碼:http://blog.csdn.net/a601025382s/article/details/38292849


hdu1079 博弈 難度2
亞當(dāng)和夏娃玩一個游戲,給定一個開始時間y-m-d,輪流進行操作,誰先到達(dá)2001-11-4,誰就獲勝。
每次操作可以前進一天y-m-d+1或者前進一個月y-m+1-d,前進的時間必須合法(在2001-11-4之前且日期合法)。亞當(dāng)先走,亞當(dāng)獲勝輸出YES,否則輸出NO。
方法:
1)找規(guī)律也可以,在(b+c)%2==0||b==9&&c==30||b==11&&c==30,的情況都輸出YES,否則輸出NO。abc表示年月日,
2)用到sg函數(shù),找出所有日期的sg函數(shù)值,然后判斷給定日常的sg函數(shù)值是否是0,0則輸,不是0則贏。
題解代碼:http://blog.csdn.net/a601025382s/article/details/38298783


hdu1080 dp 難度2
給定兩個基因,對比兩個基因的相似度。即給定一個表,行列項均為ACTG-,表示基因,表內(nèi)數(shù)字表示行和列對應(yīng)基因的相似度,-為空。
先給定兩個字符串表示基因a和b,長度分別為n和m,我們可以在字符串中間加入-,使得兩個字符串長度相同;現(xiàn)在問通過加入-,最大的基因相似度是多少?
方法:
dp[i][j]表示用了a串用了前i個字符,b串用了前j個字符的情況下,得到的最大基因值。答案就是dp[n][m]。
由于‘-’不能和‘-’配對,所以可以得出dp公式:
dp[i][j]=max(dp[i-1][j-1]+get_num(a[i-1],b[j-1]),dp[i-1][j]+get_num(a[i-1,]'-'),dp[i][j-1]+get_num('-',b[j-1]));
代碼鏈接:http://blog.csdn.net/a601025382s/article/details/38299917


hdu1081 dp 難度2
求一個矩陣的最大子矩陣和。
方法:
枚舉子矩陣高度k和開始行i,我們可以在O(n)時間內(nèi)求得f序列,f[j]=e[i][j]+...+e[i+k-1][j](這個預(yù)處理sum[i][j]=e[1][j]+..+e[i][j]即可),
之后求是f序列的最大連續(xù)子序列和了。


hdu1082 堆棧 難度1
已知n個矩陣的行和列,給定一個序列,求根據(jù)這個序列構(gòu)成的矩陣乘法順序需要的幾次矩陣元素相乘。
方法:
堆棧:當(dāng)遇到矩陣時,加入棧;當(dāng)遇到右括號時,將兩個矩陣出棧相乘后再壓入棧,同時計算乘法次數(shù)。


hdu1083 最大匹配 難度1
有p門課程和n個學(xué)生,已知選擇每門課程的學(xué)生,問是否能找到p個不同的學(xué)生,使得p門課都有一個不同的學(xué)生代表,學(xué)生代表必須選擇了這門課程。
方法:
以課程和學(xué)生建二分圖,求最大匹配,如果最大匹配等于p,那么就能找到要求的p個學(xué)生,輸出YES;否則不能找到,輸出NO。


hdu1084 簡單題 難度1
根據(jù)做題數(shù)以及題目完成時間給定分?jǐn)?shù)。
方法:
根據(jù)做題數(shù)和時間排序,用num數(shù)組記錄各個等級的人數(shù),然后給人確定分?jǐn)?shù),之后根據(jù)編號再排序回來。


hdu1085 多重背包 難度1
已知1,2,5三種硬幣的個數(shù),求最小不能組成的價格。
方法;
令m等于三個硬幣的總價值,以m為體積多重背包,最小不能被背包到的點就是答案


hdu1086 計算幾何 難度1
判斷n條線段的交點個數(shù),相同的交點重復(fù)計算。
注意:端點相交


hdu1087 dp 難度1
已知一個序列,現(xiàn)在要找一個最大遞增子序列。
方法:
dp[i]表示跳到i位置時最大能得到的分?jǐn)?shù),dp[i]=max(dp[k])+a[i](0<=k<i)


hdu1088 模擬題 難度1
翻譯一個html本文,文本中只出現(xiàn)標(biāo)簽<br>和<hr>
注意:輸出時每行開頭沒有空格,每行最后沒有空格,輸入的每個字符之間都有空格或者換行。


hdu1089 簡單題 難度1
求a+b。


hdu1090 簡單題 難度1
多組輸入求a+b。


hdu1091 簡單題 難度1
多組輸入,求a+b,以0,0輸入結(jié)尾。


hdu1092 簡單題 難度1
求多個數(shù)的和。輸入0時結(jié)束


hdu1093 簡單題 難度1
輸入測試樣例的個數(shù)T,輸入n,輸入n個數(shù),求n個數(shù)的和。


hdu1094 簡單題 難度1
輸入到文本末while(scanf("%d",&n)!=EOF),求n個數(shù)的和。


hdu1095 簡單題 難度1
求a+b,輸出的每個測試樣例后輸出一個空行。


hdu1096 簡單題 難度1
求多個數(shù)的和,每個測試樣例之后輸出一個空行。


hdu1097 簡單題 難度1
求a^b的末位數(shù)字。


hdu1098 簡單題 難度1
輸入k,求整數(shù)a使得f(x)=5*x^13+13*x^5+k*a*x對任意x都是65的倍數(shù)。
方法:
f(x+1)=5*(x+1)^13+13*(x+1)^5+ka*(x+1)=5*(C(13,0)x^13+C(13,1)*x^12+...+C(13,0)*x^0)+13*(C(5,0)*x^5+...+C(5,5)x^0)+ka*x+ka=
f(x)+5*C(13,1)*x^12+...5*C(13,13)+13*C(5,1)*x^4+13*C(5,5)+k*a,對65取余,f(x+1)=13+5+ka=18+ka,是65的倍數(shù)。枚舉a=1~65,
找到a使得a*k+18是65的倍數(shù),若不存在輸出no(a=66,(a*k+18)%65=(a%65*k%65+18)%65,等效于a=1,所以只用枚舉1~65)。




hdu1099 數(shù)學(xué) 難度2
有n種彩票,現(xiàn)在要集齊所有彩票,求買齊彩票的期望購買張數(shù)。
方法:
買第一張自己沒有的概率是n/n,買第二張自己沒有的概率是(n-1)/n,期望需要買1/((n-1)/n)才能買到;買第三張的概率是(n-2)/n,
期望需要買1/((n-2)/n)張。。。所以答案ans=n/n+n/(n-1)+...+n/1;求分母最小公倍數(shù),然后通分,化簡,按格式輸出。


hdu1100


hdu1106 簡單題 難度1
給定一串由數(shù)字組成的串,將其中的5數(shù)字當(dāng)成空格,將倍分割的數(shù)字排序輸出。要求去掉前導(dǎo)零。
方法:
c=0,c=c*10+a[i],直到a[i]為5,將c加入數(shù)組,跳過a[i]==5,然后繼續(xù)前面的步驟即可。最后排序數(shù)組輸出。


hdu1108 簡單題 難度1
球兩個數(shù)的最小公倍數(shù)。
方法:
lcm=a/gcd(a,b)*b;gcd是最大公約數(shù),用輾轉(zhuǎn)相除法求得,int gcd(int a,int b){return b==0?a:gcd(b,a%b);}


hdu1172 簡單題 難度1
電腦隨機產(chǎn)生一個四位數(shù),給定n個猜測,每個猜測包括猜測數(shù),個數(shù)匹配數(shù),位置匹配數(shù)。求是否有唯一符合的四位數(shù),有則輸出。
方法:
暴力枚舉所有四位數(shù),跟猜測比較,查看個數(shù)匹配數(shù)和位置匹配數(shù)是否相等。


hdu1173 簡單題 難度1
給定一個直角坐標(biāo)系,上面有n個點,表示金礦,現(xiàn)在要選擇一個位置建設(shè)基地,使得到達(dá)所有金礦的距離和最小。距離計算:fabs(x1-x2)+fabs(y1+y2)。
方法:
分別求n個坐標(biāo)的橫坐標(biāo)和縱坐標(biāo)的中位數(shù)即可。(根據(jù)中位數(shù)的性質(zhì),這樣的位置距離最短)


hdu1174 計算幾何 難度1
CS中的警匪對戰(zhàn),已知匪的位置三維坐標(biāo),身高和頭半徑;警的位置,身高,頭半徑和子彈飛行方向向量。問是否能擊斃匪。
方法:
這題比較水,不用判子彈方向是否是背離匪的腦袋的。只要計算出子彈的所在直線,匪腦袋的圓心,計算圓心到直線的距離和匪腦袋的半徑比較即可。


hdu1175 模擬題 難度1
連連看,給定一個n*m矩陣,0表示空格,其他數(shù)表示特定圖片,只有兩個方塊相同,轉(zhuǎn)彎次數(shù)小于等于2次才能消掉。給定位置(x1,y1)和(x2,y2),
問兩個位置上的方塊能否消掉。
方法:
先用a[i][j][k]數(shù)組記錄一個點各個方向上的連續(xù)0的個數(shù)。然后分情況討論,一種沒有轉(zhuǎn)彎,直接判斷中間是否有足夠的連續(xù)0即可;
其余的算一種,這個又分兩種,一種是走Z型,一種走N型,Z型則向左右兩邊延展找出所有可以用過的位置,然后再相同縱坐標(biāo)的時候判斷上下是否連通即可,
N型同理。


hdu1180 bfs 難度2
一張n*m地圖上,S表示起點,T表示終點,*表示墻,.表示路,|表示豎著的梯子,能讓在該位置的上下方向通行,-表示橫著的梯子。每分鐘梯子會變化一次,
從橫到豎或者從豎到橫。一個人只能上下左右移動,每次耗時1分鐘;人不會在梯子上停留,經(jīng)過梯子達(dá)到梯子對面只用一分鐘。
可以在原地停留,問從起點到終點最少需要多少時間。
方法:
bfs,在碰到梯子時判斷梯子位置情況,不同相則時間多加一,位置變?yōu)樘葑訉γ妗?br />

hdu2007 簡單題 難度1
球一段區(qū)間[n,m]內(nèi)所有偶數(shù)的平方和以及所有奇數(shù)的立方和。
方法:
預(yù)處理數(shù)所有的e[i],e[i].x表示所有小大于i的偶數(shù)的平分和,e[i].y表示所有不大于i的奇數(shù)的立方和,答案就是e[m].x-e[n-1].x和e[m].y-e[n-1].y;
注意:0的情況(這題好像沒有0的數(shù)據(jù)),以及n>m


hdu2008 簡單題 難度1
統(tǒng)計n長的實數(shù)序列中,負(fù)數(shù),零和正數(shù)的個數(shù)。


hdu2009 簡單題 難度1
數(shù)列的第一項為n,以后各項為前一項的平方根,求數(shù)列的前m項的和。


hdu2010 簡單題 難度1
“水仙花數(shù)”是指一個三位數(shù),它的各位數(shù)字的立方和等于其本身。求給定范圍內(nèi)的所有水仙花數(shù)。
方法:
先預(yù)處理出所有的水仙花數(shù),然后根據(jù)范圍輸出。


hdu2011 簡單題 難度1
求多項式1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...的前n項的和。


hdu2012 簡單題 難度1
對于表達(dá)式n^2+n+41,當(dāng)n在(x,y)范圍內(nèi)取整數(shù)值時(包括x,y)(-39<=x<y<=50),判定該表達(dá)式的值是否都為素數(shù)。


hdu2013 簡單題 難度1
每天吃掉一半多一個的桃子,n天后剩下一個桃子,問開始有幾個桃子。


hdu2014 簡單題 難度1
給定n個分?jǐn)?shù)。去掉一個最高分,一個最低分,然后求平均數(shù)。


hdu2015 簡單題 難度1
有一個長度為n(n<=100)的數(shù)列,該數(shù)列定義為從2開始的遞增有序偶數(shù),
現(xiàn)在要求你按照順序每m個數(shù)求出一個平均值,如果最后不足m個,則以實際數(shù)量求平均值。


hdu2016 簡單題 難度1
輸入n(n<100)個數(shù),找出其中最小的數(shù),將它與最前面的數(shù)交換后輸出這些數(shù)。


hdu2017 簡單題 難度1
對于給定的一個字符串,統(tǒng)計其中數(shù)字字符出現(xiàn)的次數(shù)。


hdu2018 簡單題 難度1
有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請編程實現(xiàn)在第n年的時候,共有多少頭母牛?


hdu2019 簡單題 難度1
有n(n<=100)個整數(shù),已經(jīng)按照從小到大順序排列好,現(xiàn)在另外給一個整數(shù)x,請將該數(shù)插入到序列中,并使新的序列仍然有序


hdu2020 簡單題 難度1
輸入n(n<=100)個整數(shù),按照絕對值從大到小排序后輸出。題目保證對于每一個測試實例,所有的數(shù)的絕對值都不相等。


hdu2021 簡單題 難度1
已知人民幣一共有100元、50元、10元、5元、2元和1元六種,用最少的人民幣張數(shù)湊n元。
方法:
貪心,大的紙幣先用。


hdu2022 簡單題 難度1
求n*m矩陣中絕對值最大的數(shù)。


hdu2023 簡單題 難度1
假設(shè)一個班有n(n<=50)個學(xué)生,每人考m(m<=5)門課,求每個學(xué)生的平均成績和每門課的平均成績,并輸出各科成績均大于等于平均成績的學(xué)生數(shù)量。


hdu2024 簡單題 難度1
輸入一個字符串,判斷其是否是C的合法標(biāo)識符。即字符串以字母或者下劃線開頭,由數(shù)字,下劃線和字母組成的合法。


hdu2025 簡單題 難度1
對于輸入的每個字符串,查找其中的最大字母,在該字母后面插入字符串“(max)”。


hdu2026 簡單題 難度1
輸入一個英文句子,將每個單詞的第一個字母改成大寫字母。


hdu2027 簡單題 難度1
統(tǒng)計每個元音字母在字符串中出現(xiàn)的次數(shù)。


hdu2028 簡單題 難度1
求n個數(shù)的最小公倍數(shù)。
方法:
lcm=a/gcd(a,b)*b;gcd()為求最大公約數(shù),int gcd(int a,int b){return b==0?a:gcd(b,a%b);}


hdu2029 簡單題 難度1
“回文串”是一個正讀和反讀都一樣的字符串,比如“l(fā)evel”或者“noon”等等就是回文串。請寫一個程序判斷讀入的字符串是否是“回文”。


hdu2030 簡單題 難度1
統(tǒng)計給定文本文件中漢字的個數(shù)。
方法:
漢字機內(nèi)碼在計算機的表達(dá)方式的描述是,使用二個字節(jié),每個字節(jié)最高位一位為1。?
計算機中, 補碼第一位是符號位, 1 表示為 負(fù)數(shù),?
所以 漢字機內(nèi)碼的每個字節(jié)表示的十進制數(shù)都是負(fù)數(shù)
統(tǒng)計輸入字符串含有幾個漢字,只只需求出字符串中小于0的字符有幾個,將它除以2就得到答案


hdu2031 簡單題 難度1
輸入一個十進制數(shù)N,將它轉(zhuǎn)換成R進制數(shù)輸出。


hdu2032 簡單題 難度1
輸出n層楊輝三角。


hdu2033 簡單題 難度1
求兩個時間的和。


hdu2034 簡單題 難度1
集合A-B,即輸出A集合中與B集合重復(fù)的數(shù)。


hdu2035 簡單題 難度1
求A^B的最后三位數(shù)表示的整數(shù)。


hdu2036 簡單題 難度1
求n個點圍成的多邊形面積。


hdu2037 dp 難度1
給定n個電視節(jié)目的開始時間和結(jié)束時間,問最多可以完整的看完的節(jié)目的個數(shù)、
方法:
根據(jù)開始時間排序,dp[i]=max(dp[i],dp[j]+1)(e[j].y<=e[i].x,0<=j<i)


hdu2039 簡單題 難度1
給定三條邊,請你判斷一下能不能組成一個三角形。
注意:輸入的是實數(shù)。


hdu2040 簡單題 難度1
判斷a和b是否是親合數(shù),親和數(shù)就是a的所有真約數(shù)(不含本身的約數(shù))和等于b,b的所有真約數(shù)和等于a。


hdu2041 dp 難度1
一開始在第一個臺階上,之后每次可以走一個臺階或者兩個臺階,問走到n有多少種方法。
方法:
dp[i]=dp[i-1]+dp[i-2](n>=i>=3)


hdu2042 簡單題 難度1
每次羊減少一半少一只,n次后剩余3只,問開始有幾只。


hdu2043 簡單題 難度1
判斷難度是否安全。


hdu2044 簡單題 難度1
有一只經(jīng)過訓(xùn)練的蜜蜂只能爬向右側(cè)相鄰的蜂房,不能反向爬行。請編程計算蜜蜂從蜂房a爬到蜂房b的可能路線數(shù)。
注意:會超出int,需要用__int64


hdu2045 dp 難度1
給一行的n個格子染色,共有3種顏色,相鄰格子不能同色,頭尾不能同色,問有多少種染色方式。
方法:
dp[i][j],當(dāng)j=0時表示i長格子的染色方法,j=1時表示,相鄰格子染色不同,頭尾染色相同的情況。
dp[i][0]=dp[i-1][0]+dp[i-1][1]*2;dp[i][1]=dp[i-1][0];
注意:會超出int


hdu2046 dp 難度1
在2*n的方格內(nèi)放1*2的長條,有多少種放法。
方法:
dp[i]=dp[i-1]+dp[i-2];dp[i]表示2*i的格子的放法數(shù)。有兩種放法:1是最后一個放豎條,那么有f[i-1],最后兩格放兩格橫條,那么有f[i-2]種。
注意:超出int,dp[0]=1;


hdu2047 dp 難度1
由EOF三個字符組成的n長字符串,不出現(xiàn)O和O連續(xù)的情況有多少種?
方法:
dp[i][j],j=0表示結(jié)尾不是O的合法情況數(shù),j=1表示結(jié)尾為O的合法情況數(shù),ans=f[n][0]+f[n][1]。
dp[i][0]=(dp[i-1][0]+dp[i-1][1])*2,dp[i][1]=dp[i-1][0]。
注意:超出int


hdu2048 數(shù)學(xué) 難度1
有n個人,每個人在一張彩票寫上自己的名字,放入盒子,然后每個人抽取一張,抽到自己名字的彩票則中獎,問都不中獎的概率。
方法:
用錯排公式求得不中獎的情況數(shù),即n長序列的排列,所有的元素都不在自己原來的位置上的情況數(shù)。然后求得概率。
dp[i]=(dp[i-1]+dp[i-2])*(n-1)或者ans=n!*(1/2!-1/3!+1/4!-1/5!+...+(-1)^n/n!)


hdu2049 數(shù)學(xué) 難度1
n對新人新婚,給每位新娘打扮得幾乎一模一樣,并蓋上大大的紅蓋頭隨機坐成一排;
然后,讓各位新郎尋找自己的新娘.每人只準(zhǔn)找一個,并且不允許多人找一個.問有m個新郎找錯,有多少種可能方式。
方法:
也是錯排,現(xiàn)用組合數(shù)找出n-m個人,之后剩余的m個就是錯排了。ans=c[n][n-m]*dp[m];dp[m]=(m-1)*(dp[m-1]+dp[m-2]);


hdu2050 簡單題 難度1
問n條<型的折線最多能將平面分成幾個部分。
方法:
找規(guī)律,每次增加一條折線所增加的區(qū)域數(shù)等于這條折線與原來的線至多有幾個交點。
dp[1]=2,dp[i]=dp[i-1]+4*(i-1)+1;


hdu2051 簡單題 難度1
將10進制數(shù)轉(zhuǎn)換成二進制。


hdu2052 簡單題 難度1
給定n和m,用+,-,|輸出長寬為n和m的矩形。


hdu2053 簡單題 難度1
輸入一個整數(shù)n表示n次操作,第i次操作,將第i*k(k=1,2,....)個的燈開關(guān)(從開到關(guān),或者從關(guān)到開),問n次操作后,第n個燈的狀態(tài)。
方法:
求n的因子個數(shù)即可。歐拉函數(shù)。


hdu2054 簡單題 難度1
判斷兩個數(shù)是否相等。
注意:可能是實數(shù);數(shù)字很大,長度要開1e5,用字符串讀入;可能存在前導(dǎo)零和后導(dǎo)零。


hdu2055 簡單題 難度1
輸入一個字母x和數(shù)字y,f(x)表示,當(dāng)x為小寫字母時f(x)=-(x-'a'+1),否則f(x)=x-'A'+1;求f(x)+y;


hdu2056 簡單題 難度1
求兩個矩陣相交區(qū)域的面積。
注意:用printf("%.2f\n",0.0);過了,用printf("%.2f\n",0);掛了。。


hdu2057 簡單題 難度1
兩個16進制數(shù)相加。


hdu2058 簡單題 難度1
已知n和m,對于序列1,2,3...,n。找出所有和等于m的連續(xù)子序列。
方法:
起點為i,長度為k的連續(xù)序列,和為(2*i+k-1)*k/2=m,枚舉k(1<=k<=sqrt(m*2))即可。


hdu2059 dp 難度2
龜兔賽跑,兔子固定移動速度VR,烏龜使用電瓶車v1,蹬電瓶車v2;電瓶車每次只能開c,路上有n個供電站,位置pi,充電時間t。
問烏龜是否可以贏兔子。
方法:
dp[i]表示到達(dá)pi(即之后要在pi充電)的最短時間,dp[i]=min(dp[k]+路上耗時)。


hdu4908


hdu4910 數(shù)學(xué) 難道3
輸入一個正整數(shù)n(n<=1e18),輸出所有的i相乘并對n取余所得的值。(gcd(i,n)==1,1<=i<=n)
方法:
找規(guī)律:將n分解分所有質(zhì)因子相乘,質(zhì)因子2個數(shù)為a,其余質(zhì)因子個數(shù)為b,ans=(a==0?a:a-1)+b;當(dāng)ans<2時結(jié)果為n-1,否則結(jié)果為1.
需要的知識:Miller_Rabin算法+線性篩
題解代碼:http://blog.csdn.net/a601025382s/article/details/38379971


總結(jié)

以上是生活随笔為你收集整理的hdu(杭电oj)第一页题目题解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。