distinct values
ps:思路巨明顯,就是**寫不出,總想著一次更新一條線段。這裡用乙個set,存的是當前能用的數的。怎麼去更新set,記錄上乙個區間的左右端點 l , r ,然後類似於莫隊的寫法。。。。看**吧。注意上乙個區間和當前區間沒有公共端點時要特判!!!,也就是**中的 if 語句 。
#include#include#include
#include
#include
#include
#include
#define ll long long
#define p pair#define pp pair>
#define pb push_back
#define pp pop_back
#define lson root << 1
#define inf (int)2e9 + 7
#define rson root << 1 | 1
#define linf (unsigned long long int)1e18
#define mem(arry, in) memset(arry, in, sizeof(arry))
using
namespace
std;
const
int maxn = 100005
;int
t, n, m, res[maxn];
p p[maxn];
intmain()
for(int i = 2; i <= m; i++)
while(r }
}for(int i = 1; i <= n; i++) printf("
%d%c
", (res[i] == 0 ? 1 : res[i]), (i == n ? '
\n' : '
'));
}return0;
}
杭電多校第一場補題
include include include include include include include include define int long long using namespace std const int maxn 1e4 10 const int inf 0x3f3f3f3...
2013多校第一場
c 找規律的題。主要是把題目裡的加法與去火柴的模型聯絡起來,然後利用排列組合的原理找公式。小結 我一開始一直在研究每個數和每個數出現的次數,以及題目給的f n 2 n 1 有啥關係,最後也沒研究個啥結論,看題解才知道的。include include include include include ...
2013第一場多校
多校第一場 1011 1 將每個數對應的4種情況求出來,並儲存每個數對應的狀態。2 問題轉化為 共有16種卡牌,每種卡牌可以選ai個,選了某種卡牌將得到bi的權值。將所有選定的bi進行 運算,若4位中的某一位為0,則需要額外的花費。3 直接進行2 16的列舉,表示某種物品選還是不選,每個物品至少選乙...