原创 【DP】找連續數

HDU 5247 找連續數題意:輸入數組長度n,查找次數m,輸入數組。輸入k,找排序後k長度的連續數的個數。題解:改變起始點i與終止點j,更新最大最小值,判斷區間是否連續。    若區間差=最值差,連續;    若終止點出現過,跳出;記錄

原创 【數組】炮臺打怪

HDU 4970 Killing Monsters題意:輸入M個炮臺的攻擊範圍ab和攻擊力c,N個怪物的血量d和座標x。所有怪物從x往n走,一個位置受一次攻擊,求到n還活着的怪有幾個。題解:標記攻擊範圍起始點a處c,終止點b處後一個-c;

原创 【模擬】小動物喫蛋糕

HDU 4302 Holedox Eating題意:一個小動物從x=0去喫蛋糕,0 x處出蛋糕,1去喫最近的;注:沒有蛋糕原地不動;兩邊距離相等時按原方向繼續走;題解:把有蛋糕的點存起來,每次取左右最近的點比較,到下一個點。#includ

原创 【DP】喫草數量

Luogu P2639 Bessie的體重問題題意:見題。題解:簡單dp。#include<iostream> #include<cstring> using namespace std; int n,v,c[500],w[500],dp

原创 【DP】Max Sum

HDU 1003 MaxSum題意:輸入一個數組,找到一段相加和最大的區間,輸出最大和以及起點終點。題解:從k點開始往sum上逐個累加,當    若sum>max,更新最大值、起點終點,繼續累加;    若sum<max,不更新,繼續累加

原创 【KMP】明文密文

HDU 4300 Clairewd’s message 題意: (炒雞難懂)第一行是轉換表,明文abcde對應的密文; 第二行是攔截下的完整的密文和不完整的明文; 要求輸出完整的密文明文; 題解: 將明文密文kmp標記,從一半後第一個開始

原创 【貪心】猜GPA最值

HDU 4968 Improving the GPA題意:已知各分值對應的績點,給出n個科目的平均分ave,挑選n科的成績求績點可能的最大、最小值。注:該學霸的成績都≥60且≤100;題解:找最小值從最小績點的上限開始挑,保證剩下的不大於

原创 【基礎】醜數

題意:只包含因子2,3,5的正整數被稱爲醜數。#include<iostream> #include<queue> using namespace std; typedef pair<int,unsigned long long> pil

原创 【巴什博弈】乘數遊戲

POJ 2505 A multiplication game 題意: 從1開始,選擇2-9中任意數乘上去,先達到m的贏。 題解: 可以得到必勝態:     (1,9] 狀態A,先手贏     (9,9x2] 狀態B,後手贏 此後,基數乘一

原创 【?】交誼舞

Vijos 1062 交誼舞題意:n個人站一排,任意一對舞伴(男左女右)中間可能沒人,也可能有好幾對舞伴。輸入每個女生左邊一共幾個男生,輸出該女生的舞伴是她左邊第幾個男生。題解:用p記錄一共n對舞伴的位置(男生序號),輸入女生左邊男生數m

原创 【模擬】小動物吃蛋糕

HDU 4302 Holedox Eating題意:一個小動物從x=0去吃蛋糕,0 x處出蛋糕,1去吃最近的;注:沒有蛋糕原地不動;兩邊距離相等時按原方向繼續走;題解:把有蛋糕的點存起來,每次取左右最近的點比較,到下一個點。#includ

原创 【規律博弈】兩數相減

HDU 1525 Euclid's Game 題意: 用小數b去減大數a,次數不限,不能減爲負,先出0的贏。 題解: 首先,a能整除b,則當前先手贏。 其次,b比2a大,則當前先手贏。         若a%b,b不可贏,當前先手操作爲a

原创 【基礎】類

虛函數與繼承:#include<bits/stdc++.h> using namespace std; class Graph{     int x; public:     Graph(int a=0):x(a){}     Graph

原创 【DP】硬幣和數

POJ 1742 Coins題意:有n種硬幣,求在m內能組成的價值數目。題解:i遍歷硬幣,j遍歷價值,p標記已計數,t記錄當前硬幣使用個數,判斷    當前價值未被計數,即p=0;    當前價值-當前硬幣值可以被組成,即p-pr=1; 

原创 【二分】可達最大間隔

poj - 2456 #include<cstdio> #include<iostream> #include<cstring> #include<queue> #include<algorithm> using namespace s