题目大意 \(T\)(\(T\leq10^5\))组询问 每次给出\(n,m,l,r\),和\(n\)个数\(a_1,a_2,...,a_n\),要找出\(m\)个可重复的在区间\([l,r]\)的数,使\(a_1,a_2,...,a_n\)和选出的\(m\)个数组成的序列期望随机排序得到升序序列的次数最多 输出序列最多期望随机排序几轮,模998244353 \(n\leq2\times10^5,\sum n\leq2\times10^6,m\leq10^7,a_i\leq10^9\) 题解 假…
题意 题目链接 Sol 首先一种方案的期望等于它一次排好的概率的倒数. 一次排好的概率是个数数题,他等于一次排好的方案除以总方案,也就是\(\frac{\prod cnt_{a_i}!}{(n+m)!}\).因为最终的序列是一定的,两个序列不同当且仅当权值相同的数排列方式不同. 他的期望为\(\frac{(n+m)!}{\prod cnt_i!}\),我们希望这玩意儿尽量大,也就是下面的尽量小 显然对于每个\(cnt\)来说,最大值越小越好,可以直接二分,然后check一下是否可行. 具体的贪心…
[BZOJ5322][JXOI2018]排序问题(模拟) 题面 BZOJ 洛谷 题解 这题就显得很呆. 显然就是每次找到\([l,r]\)中出现次数最小的那个数并且放一个. 然后随便模拟一下就好了QwQ. #include<iostream> #include<cstdio> #include<algorithm> using namespace std; #define ll long long #define MOD 998244353 #define TOT 12…
5322: [Jxoi2018]排序问题 链接 分析: 每次选一个出现次数最小的. 代码: #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #include<cmath> #include<cctype> #include<set> #include<queue> #include<vector> #…
对于一个序列,重排后有序的概率显然是∏cnti!/n!,其中cnti为第i种数出现次数.要使概率最小,显然应该让各种数字尽量平均分配.剩下的是div2BC左右的大讨论. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #defi…
https://www.lydsy.com/JudgeOnline/problem.php?id=5322 https://loj.ac/problem/2543 <-可以看数据,要没有这数据我死活调不出来. https://www.luogu.org/problemnew/show/P4561 题面见上. 我们知道可重元素全排列=元素个数!/(每个元素个数!加和). 所以一个很显然的贪心就是我们取元素使得每个元素的个数都尽可能小. 我们先离散化,然后二分出sum,表示l~r我每个元素都取至少s…
题目链接 BZOJ5322 题解 意思就是使有序的排列尽量少 就是使相同的数尽量少 然后大力贪心即可 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<map> #define REP(i,n) for (register int i = 1; i <= (n); i++) #def…
传送门 不难看出期望就是 \(\frac{(n+m)!}{\prod_{v=1}^{max}(cnt_v!)}\),\(cnt_v\) 表示 \(v\) 这个数出现的次数. 贪心就是直接把 \(m\) 个数字每次选择一个 \(cnt\) 最小的加入,使得最后 \([l,r]\) 内每个数字出现的次数尽量平均. 直接按照数字出现的次数排序,从大到小枚举平均的次数是多少即可. # include <bits/stdc++.h> using namespace std; typedef long l…
嘟嘟嘟 这是今天做的第二道九条可怜的题,现在对他的题的印象是:表面清真可做,实则毒瘤坑人. 首先要感谢吉司机,我期望学的特烂,好在样例直接告诉我们期望怎么求了. 令\(b_i\)表示第\(i\)个不同的数的出现次数,那么期望就是 \[\frac{(n + m)!}{b_1! * b_2! * \ldots b_{tot}!}\] 所以我们只要让分母尽量小就行了. 这个问题也不难,想想就知道,只要让所有\(b_i\)尽可能接近就行了. 证明很简单,以两个数为例:如果\(a + b = x\),问\…
突然意识到有一些题目的计划,才可以减少大量查水表或者找题目的时间. 所以我决定这样子处理. 按照这个链接慢慢做. 当然不可能只做省选题了. 需要适时候夹杂一些其他的题目. 比如\(agc/arc/cf\)的题目,以及\(loj\)上的一些省的集训题目,还有\(uoj\)的各种\(round\)的题目. 大块大块的做题记录就在这里记录一下,省选后再来看结果,至少努力过就不曾后悔了不是吗? 首先先是省选题的记录,然后有比赛的记录,做到每周至少完成一整场\(CF\)或者\(AtCoder\)比赛的题解…
我们令$sum_i$表示数字i在加完数字的数列中出现的次数,那么答案显然为$\dfrac{(n+m)!}{\sum_{i=0}^{\infty}sum_i!}$ 不难发现,当每次添加的数为$[l,r]$中出现次数最少的数时,答案就是最小的了. 然后就没了 貌似我常数比较大在loj上是997ms过的...... #include<bits/stdc++.h> #define M 20000005 #define L long long #define MOD 998244353 using na…
JXOI2018简要题解 T1 排序问题 题意 九条可怜是一个热爱思考的女孩子. 九条可怜最近正在研究各种排序的性质,她发现了一种很有趣的排序方法: Gobo sort ! Gobo sort 的算法描述大致如下: 假设我们要对一个大小为 \(n\) 的数列 \(a\) 排序. 等概率随机生成一个大小为 \(n\) 的排列 \(p\) . 构造一个大小为 \(n\) 的数列 \(b\) 满足 \(b_i=a_{p_i}\) ,检查 \(b\) 是否有序,如果 \(b\) 已经有序了就结束算法,并…
一.问题描述 星期五的晚上,一帮同事在希格玛大厦附近的"硬盘酒吧"多喝了几杯.程序员多喝了几杯之后谈什么呢?自然是算法问题.有个同事说:"我以前在餐      馆打工,顾客经常点非常多的烙饼.店里的饼大小不一,我习惯在到达顾客饭桌前,把一摞饼按照大小次序摆好--小的在上面,大的在下面.由于我      一只手托着盘子,只好用另一只手,一次抓最上面的几块饼,把它们上下颠倒个个儿,反复几次之后,这摞烙饼就排好序了.我后来想,这实际上是个     有趣的排序问题:假设有n块大小不一…
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" > &…
使用类似“SELECT DISTINCT `col` FROM `tb_name` ORDER BY `time` DESC”这样的sql语句时,会遇到排序问题. 以上面的sql语句分析:order by 只是针对了获取到的col进行了时间排序,而取到的col则是系统默认排序的. 想要order by起效果,应该使用子查询,”SELECT DISTINCT `col` FROM (SELECT * FROM `tb_name` ORDER BY `time` DESC) AS a“.…
自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,error.log 等)中获取所需日志列表 合并日志列表 升序排序 输出日志报告 结果最后获取日志信息后,发现实际产出结果与预期结果不相符,如下所示: -- ::, - INFO - [main] [cn.ffp.autotest.api.report.ReportHelper:] - [] 开始生成…
一.对象键值为数字型时输出的对象自动排序问题如: var objs = {    "1603":{id:"1603"},    "1702":{id:"1702"},    "1502":{id:"1502"}} console.log(objs); 输出的对象是: { "1502":{id:"1502"},    "1603"…
MySQL中怎么对varchar类型排序问题 在mysql默认order by 只对数字与日期类型可以排序,但对于varchar字符型类型排序好像没有用了,下面我来给各位同学介绍varchar类型排序问题如何解决. 今天在对国家电话号码表进行排序的时候发现了一个有趣的问题,我想让isdcode字段按照由小到大的顺序排序,于是乎我是这样写的  代码如下 复制代码 SELECT * FROM gb_country_isdcode ORDER BY isdcode asc 结果如下,发现竟然不是我想要…
最近做一个手机数据同步的应用开发,需要提供地址簿信息按照姓名的拼音次序进行排序.但仔细考察Java提供的Collator之后,发现其中文拼音排序存在严重的问题.Java提供Collator来支持不同语言的排序问题, 使用方法如下:Comparator cmp = (Collator.getInstance(Locale.China));cmp,compareTo("爱国", '中国') < 0;   如果所要比较的中文字符串属于GB一级字库,比较结果正确.但当字符是二级增补字库和…
关于Ext的排序问题,一般涉及到两种方式. A.一种是默认的客户端排序机制,对当前页进行排序.sortable 这种排序模式不用多说,是人都会: 1.可以在Ext.grid.ColumnModel列模式中,设置sortable:false,此列为可排序. var cm = new Ext.grid.ColumnModel([//定义列显示模式          {id: "name",header: "部门名称",dataIndex: 'name',width: 5…
今日遇到一个datagrid排序问题,sortable,sorter函数都已设置,但是始终没有效果,无法在界面自定义排序.后来发现,需要设置remoteSort:false. 切记!!! remoteSort默认为true.故如果是界面排序,必须设置为false.…
1.关于NSArray的排序问题,首先想到的是不是冒泡排序,插入排序....... oc中的NSArray有一种更简单的方式: 例如: NSArray *stringArray=[NSArray arrayWithObjects:@"abc1 ",@"abc21",@"abc12",@"abc03",@"abc04", nil]; NSComparator sotrBlock=^(id string1,id…
Java 字符排序问题 未专注于排序算法,而是写了一个MyString类,实现了comparable的接口,然后用Arrays的sort方法来实现排序.我觉得这道题的难度在于如果比较两个.因为大小写的关系,实现起来有点复杂. 这是类一 import java.util.Arrays; /*1.对字符串进行排序,用任意一种编程语言来实现,不能使用现有的类,在排序中, 字符串"Bc","Ad","aC","Hello","…
     搜搜引擎排序问题,因为涉及到的维度比较多,有时候单纯的依靠sort是无法满足需要的,例如:搜索商品的时候我希望不管怎么排无货的商品都置底,这样问题就来了,怎么排? 其实,solr是自己的解决方案的,比如: dismax.edismax两种支持函数查询,关于solr函数查询更多的信息,看这里.      因为工作的需要,需要对搜索做排序,这里我记录下我的处理方法,搜索的商品要把无货的置底,但是还要能按别的字段排序,例如价格,不管价格升序还是降序,无货的商品都要置底,我的处理方法是: 价格…
导言:sqlite3默认的编码方式为UTF8编码,而在UTF8编码下,中文不是按照拼音顺序编码的,所以想解决中文排序问题,必须自定义排序规则,将UTF8编码转换成GB2312编码(GB2312编码中文是按照拼音顺序编码的),然后再进行比较大小,就可以得到正确的排序结果了. #include "sqlite3.h" #include <Windows.h> #include <string> #include <vector> using std::v…
MySQL中怎么对varchar类型排序问题 asc 升级 desc降序 在mysql默认order by 只对数字与日期类型可以排序,但对于varchar字符型类型排序好像没有用了,下面我来给各位同学介绍varchar类型排序问题如何解决. 今天在对国家电话号码表进行排序的时候发现了一个有趣的问题,我想让isdcode字段按照由小到大的顺序排序,于是乎我是这样写的 SELECT * FROM gb_country_isdcode ORDER BY isdcode asc 结果如下,发现竟然不是…
在mysql默认order by 只对数字与日期类型可以排序,但对于varchar字符型类型排序好像没有用了,下面我来给各位同学介绍varchar类型排序问题如何解决.   今天在对国家电话号码表进行排序的时候发现了一个有趣的问题,我想让isdcode字段按照由小到大的顺序排序,于是乎我是这样写的  代码如下 复制代码 SELECT * FROM gb_country_isdcode ORDER BY isdcode asc 结果如下,发现竟然不是我想要的结果,asc排序是对的呀,于是乎我找呀找…
关于spring aop Advisor排序问题 当我们使用多个Advisor的时候有时候需要排序,这时候可以用注解org.springframework.core.annotation.Order或者实现org.springframework.core.Ordered接口. 示例代码: import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspect…
新月新气象,10月第一篇,这也是我工作的第一天,这一篇文章我们要讲到lambda的排序问题 我是这样排序的 var list = DB.company.OrderBy(x=>x.isfreeze); 都知道OrderBy()函数是顺序 还有 一个逆序OrderByDescending(),但问题在于如果重复使用,我们看一看代码: var list = DB.company.OrderByDescending(x=>x.isfreeze).OrderBy(x=>x.isfreeze); 可…
wm_concat在行转列的时候非常有用,但在行转列的过程中的排序问题常常难以控制. 可见下面例子: 准备测试表: drop table t; create table t (n number,m number); insert into t values(1,1); insert into t values(5,3); insert into t values(3,3); insert into t values(6,5); insert into t values(7,2); insert…