n範圍小,可以狀壓
0/1表示是否已經給這道題選擇了分數
按分數的順序列舉
在某乙個狀態中,若給第i道題選擇這個分數那麼產生的貢獻就是狀態中第i位後的1的個數
如:狀態為 10101,已經選好了1,3,5的分數,此時選擇規定第2題的分數,貢獻就是第2位之後1的個數為2
則會產生2對逆序數
一開始感覺會被卡預處理了一下
#include
#include
#define n 20
#define m 100
#define inf 1e18
#define ll long long
using
namespace
std;
int n,m,mx;
ll add[1
<1
}printf("%lld\n",dp[p-1]);
}
51Nod1779 逆序對統計
lyk最近計畫按順序做n道題目,每道題目都分為很多分數檔次,lyk覺得這些題太簡單了,於是它想到了乙個好玩的遊戲。lyk決定將每道題目做出其中的某個分數,使得這n道題目的逆序對個數最多。為了方便,假設共有m個分數檔次,並且會給m個分數檔次分配乙個題目編號,表示該題目會出現這個分數檔次。題目保證每道題...
51NOD1779 逆序對統計
lyk最近計畫按順序做n道題目,每道題目都分為很多分數檔次,lyk覺得這些題太簡單了,於是它想到了乙個好玩的遊戲。lyk決定將每道題目做出其中的某個分數,使得這n道題目的逆序對個數最多。為了方便,假設共有m個分數檔次,並且會給m個分數檔次分配乙個題目編號,表示該題目會出現這個分數檔次。題目保證每道題...
51nod 1779逆序對統計(狀壓DP)
按照插入數的大小排序,然後依次進行dp。用乙個狀態表示n個數是否被選了 10110 就是表示第1 3 4個位置都選了 那麼如果此時這個數該填到5這個位置,那麼必定會造成乙個逆序 因為下乙個數會填到2,下乙個數必定比這個數大 也就是轉移的時候看插入位置前有多少個0,進行轉移 寫的時候有一些小技巧 直接...