sort

BZOJ5484: [Usaco2018 Dec]Sort It Out

谁说胖子不能爱 提交于 2019-12-03 22:24:28
5484: [Usaco2018 Dec]Sort It Out https://www.lydsy.com/JudgeOnline/problem.php?id=5484 Sol. 考虑没有在被喊叫集合中的点,他们一定是上升的。 那么最小的集合大小就是n-最长上升子序列长度。 对于第二问,有个转化:因为给出的是排列,求第k小的集合相当于求第k大的最长上升子序列。 那么可以记f[i]表示以i为头的最长上升子序列长度,g[i]表示方案数,转移时一起转移。 用个vector存最长上升子序列长度为i的开头有哪些,然后从大到小贪心取。 有个技巧:树状数组可以反着用! 我们要把1~x取Max,查询x~n的最小值。 那么可以 for(int i=x;i;i-=i&-i)tr[i]=max(tr[i],v) for(int i=x;i<=n;i+=i&-ii) sum=max(tr[i],sum) 画个图看看似乎只有取Max可以用 来源: https://www.cnblogs.com/liankewei/p/11809805.html

【Linux常见命令】sort命令

隐身守侯 提交于 2019-12-03 15:38:50
sort - sort lines of text files sort命令用于将文本文件内容加以排序。 sort可针对文本文件的内容,以 行 为单位来排序。 语法: sort [OPTION]... [FILE]... sort [OPTION]... --files0-from=F sort [- bcdfimMnr ][- o <输出文件>][- t <分隔字符>][+<起始栏位>-<结束栏位>][-- help ][-- verison ][文件] 参数: -b 忽略每行前面开始出的空格字符。 -c 检查文件是否已经按照顺序排序。 -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 -f 排序时,将小写字母视为大写字母。 -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 -m 将几个排序好的文件进行合并。 -M 将前面3个字母依照月份的缩写进行排序。 -n 依照数值的大小排序。 -o<输出文件> 将排序后的结果存入指定的文件。 -r 以相反的顺序来排序。 -t<分隔字符> 指定排序时所用的栏位分隔字符。 +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 示例: 来源: https://www.cnblogs.com/zoe233/p/11802572.html

统计文件中出现次数最多的前10的单词

大憨熊 提交于 2019-12-03 14:05:16
统计文件中出现次数最多的前10的单词 cat words.txt | sort | uniq -c | sort -k1,1nr | head -10 sort: 对单词进行排序 默认升序 sort -u 在输出行中去除重复行。 sort -r 降序 sort -r number.txt -o number.txt 把排序后的内容重写入文件 sort -n 按照数值来排序 uniq -c: 显示唯一的行,并在每行行首加上本行在文件中出现的次数 sort -k1,1nr: 按照第一个字段,数值排序,且为逆序 head -10: 取前10行数据 转载自https://www.cnblogs.com/flish/p/5806417.html 来源: https://www.cnblogs.com/summer962395785/p/11798291.html

数据结构与算法——常用排序算法及其Java实现

邮差的信 提交于 2019-12-03 14:01:51
冒泡排序 原理: 依次比较相邻的两个数,将小数放在前面(左边),大数放在后面(右边),就像 冒泡 一样 具体操作: 第一趟,首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后,这样第一趟下来最大的数就在最后一位了。然后还是从第一个数开始重复第一趟步骤比较,但是这次不比较最后一个数了,第二趟结束后第二大的数就在倒数第二位......以此类推,直至全部排序完成。 所有代码 在这 ,关键代码如下: private static void sort(Comparable[] a) throws IllegalAccessException, InstantiationException { Object tmp; boolean noChange = false;//用来标识输入序列的排序情况, for (int i = 0;i<a.length-1 && !noChange;i++){ noChange = true;//如果某一趟没有交换,说明数据已经排好序无需再进行接下来的排序 for (int j=0;j<a.length-1-i;j++){ if(a[j].compareTo(a[j+1])>0){ tmp = a[j]; a[j] = a[j+1]; a[j+1] =

shell 版本号比较_用shell如何比较软件版本号的大小

雨燕双飞 提交于 2019-12-03 13:36:40
比如你想写个脚本来比较两个版本号 (如"1.2.30" 和"1.3.0")来辨认哪个版本是最新的,有可以比较两个版本号字符串的shell脚本吗? 当你写了一个shell脚本,想使用脚本来比较两个版本号,然后能区分哪个版本号更高哪个版本号更低。比如,你安装某个软件的时候,要求是版本号要大于1.3.0,想验证最低配置要求.又或者你想在shell脚本中写版本号判断(比如版本号如果介入1.0.0 ≤ 版本 ≤ 2.3.1). 如果你想通过shell来比较两个版本号字符串的话最简单的就是使用 sort 命令。加上参数"-V"后 sort命令就可以把文本中的版本号给排序出来(默认是递增的排序),然后你想倒叙排序的话那就使用参数"-rV"即可 . 下面我们就来看下在shell中怎么使用 sort命令来比较版本号吧 对于要比较版本号字符串的话,下面的这些使用了 sort命令的自定义 函数可能会派上用场. function version_gt() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; } function version_le() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" == "$1"; } function version

awk命令

偶尔善良 提交于 2019-12-03 13:32:05
自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! 1、查看有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 2、查看某一个页面被访问的次数: grep "/index.php" log_file | wc -l 3、查看每一个IP访问了多少个页面: awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file > log.txt sort -n -t ' ' -k 2 log.txt 配合sort进一步排序 4、将每个IP访问的页面数进行从小到大排序: awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n 5、查看某一个IP访问了哪些页面: grep ^111.111.111.111 log_file| awk '{print $1,$7}' 6、去掉搜索引擎统计的页面: awk '{print $12,$1}' log_file | grep ^\"Mozilla | awk '{print $2}' |sort | uniq | wc -l 7

[LeetCode] 922. Sort Array By Parity II 按奇偶排序数组之二

久未见 提交于 2019-12-03 12:27:53
Given an array A of non-negative integers, half of the integers in A are odd, and half of the integers are even. Sort the array so that whenever A[i] is odd, i is odd; and whenever A[i] is even, i is even. You may return any answer array that satisfies this condition. Example 1: Input: [4,2,5,7] Output: [4,5,2,7] Explanation: [4,7,2,5], [2,5,4,7], [2,7,4,5] would also have been accepted. Note: 2 <= A.length <= 20000 A.length % 2 == 0 0 <= A[i] <= 1000 Github 同步地址: https://github.com/grandyang/leetcode/issues/922 类似题目: Sort Array By Parity 参考资料: https://leetcode.com/problems/sort-array-by

nginx总结

痴心易碎 提交于 2019-12-03 10:46:51
log_format⽤用于设置⽇日志格式,格式为log_format 格式名 样式 配置字段http 默认的combined log_format combined '$remote_addr - $remote_user [$time_local] ' ' "$request" $status $body_bytes_sent ' ' "$http_referer" "$http_user_agent" ‘; 不不需要配置,默认的,如果在配置会提示重复nginx: [emerg] duplicate "log_format" name "combined" in /etc/nginx/nginx.conf:45 $server_name:虚拟主机名称 $remote_addr:远程客户端的IP地址 $remote_user:远程客户端⽤用户名称,⽤用于记录浏览者进⾏行行身份验证时提供的名字,⽆无则空⽩白 [$time_local]:访问的时间与时区[12/Jun/2016:20:18:19 +0800] $request:请求的URI和HTTP协议(*) $status:记录请求返回的http状态码 200/301/302/404/403/400/502 $http_referer:来源 $http_user_agent:客户端浏览器器信息 $http_x_forwarded