蒲公英 Description 我们把所有的蒲公英看成一个长度为\(n\)的序列(\(a_1,a_2,...a_n\)),其中\(a_i\)为一个正整数,表示第i棵蒲公英的种类的编号. 每次询问一个区间\([l,r]\),你需要回答区间里出现次数最多的是哪种蒲公英,如果有若干种蒲公英出现次数相同,则输出种类编号最小的那个. 注意,你的算法必须是在线的. Input Data 第一行两整数\(n,m\),表示有\(n\)棵蒲公英,mm次询问. 接下来一行\(n\)个空格分隔的整数\(a_i\),表…
1.并查集求最小生成树 Code: #include <stdio.h> #include <stdlib.h>   struct node {     long x,y,c; }road[];   ];   int cmp(const void *a,const void *b) {     if ((*(struct node *)a).c < (*(struct node *)b).c)         ;     else         ; }   long get…
P4168 [Violet]蒲公英 题目背景 亲爱的哥哥: 你在那个城市里面过得好吗? 我在家里面最近很开心呢.昨天晚上奶奶给我讲了那个叫「绝望」的大坏蛋的故事的说!它把人们的房子和田地搞坏,还有好多小朋友也被它杀掉了.我觉得把那么可怕的怪物召唤出来的那个坏蛋也很坏呢.不过奶奶说他是很难受的时候才做出这样的事的-- 最近村子里长出了一大片一大片的蒲公英.一刮风,这些蒲公英就能飘到好远的地方了呢.我觉得要是它们能飘到那个城市里面,让哥哥看看就好了呢! 哥哥你要快点回来哦! 爱你的妹妹 Violet…
P2317 [HNOI2005]星际贸易 题目描述 输入输出格式 输入格式: 输出格式: 如果可以找到这样的方案,那么输出文件output.txt中包含两个整数X和Y.X表示贸易额,Y表示净利润并且两个数字之间用一个空格隔开.如果不能完成这次星际贸易,那么输出文件output.txt中包含 "Poor Coke!"(不包括引号). 不知道为什么网上找不到txt的,于是只好copy了洛谷的,侵删. 首先理清一下题目. 这老哥的第一目的是想让自己卖的钱最多,第二目的是在卖的钱最多的基础上把…
P3802 小魔女帕琪 题目背景 从前有一个聪明的小魔女帕琪,兴趣是狩猎吸血鬼. 帕琪能熟练使用七种属性(金.木.水.火.土.日.月)的魔法,除了能使用这么多种属性魔法外,她还能将两种以上属性组合,从而唱出强力的魔法.比如说为了加强攻击力而将火和木组合,为了掩盖弱点而将火和土组合等等,变化非常丰富. 题目描述 现在帕琪与强大的夜之女王,吸血鬼蕾咪相遇了,夜之女王蕾咪具有非常强大的生命力,普通的魔法难以造成效果,只有终极魔法:帕琪七重奏才能对蕾咪造成伤害.帕琪七重奏的触发条件是:连续释放的7个魔法…
P2606 [ZJOI2010]排列计数 题目描述 称一个\(1,2,...,N\)的排列\(P_1,P_2...,P_n\)是\(Magic\)的,当且仅当对所以的\(2<=i<=N\),有\(P_i>P_{\lfloor i/2 \rfloor}\). 计算\(1,2,...N\)的排列中有多少是\(Magic\)的,答案可能很大,只能输出模\(P\)以后的值 输入输出格式 输入格式: 输入文件的第一行包含两个整数\(n\)和\(p\),含义如上所述. 输出格式: 输出文件中仅包含一…
洛谷1303 A*B Problem 本题地址:http://www.luogu.org/problem/show?pid=1303 题目描述 求两数的积. 输入输出格式 输入格式: 两个数 输出格式: 积 输入输出样例 输入样例#1: 1 2 输出样例#1: 2 说明 需用高精 题解 高精度 像高精度加减法运算一样,模拟乘法竖式运算.我们依然采取先计算后进位的策略. 1.输入与存储同加法运算. 2.结果的最大位数是两个因数的位数之和. 3.按照乘法竖式运算进行计算与进位. 4.输出之前处理最高…
题目大意:有$n(n\leqslant4\times10^4)$个数,$m(m\leqslant5\times10^4)$个询问,每次问区间$[l,r]$内的众数,若相同输出最小的,强制在线. 题解:先离散化,分块,设块大小为$S$,可以在$O(\dfrac n S n)$的复杂度内预处理出每两个块间的众数.考虑询问,发现询问中的众数要么是整块的那一个众数,要么就是非整块内出现过的数,可以用主席树查询区间数出现个数,比较一下即可,一次查询复杂度$O(2S\log_2 n)$.$S$开的比$\sq…
历尽千辛万苦终于AC了这道题目... 我们考虑1个区间\([l,r]\), 被其完整包含的块的区间为\([L,R]\) 那么众数的来源? 1.\([l,L)\)或\((R,r]\)中出现的数字 2.\([L,R]\)中的众数 思路逐渐清晰起来 我们考虑维护这样的两个量 \(P[i][j]\)表示从第i块到第j块的区间(最小)众数 \(S[i][j]\)表示前i块中j的出现次数 先直接离散化或者hash或者unordered_map处理,然后维护 结合刚才的思路,不难得到: 1.求出\([l,L)…
P4137 Rmq Problem /mex 题意 给一个长为\(n(\le 10^5)\)的数列\(\{a\}\),有\(m(\le 10^5)\)个询问,每次询问区间的\(mex\) 可以莫队然后对值域分块,这样求\(mex\)的复杂度就正确了 一种更优的做法是按值域建可持久化线段树,对每个节点维护当前值域区间的最小出现位置,然后查询的时候就从\(r\)的那棵树一直尽量往左边走就好了 Code: #include <cstdio> #include <cstring> cons…