
排序
Dave_L
这个作者很懒,什么都没留下…
展开
-
全排列问题 以51nod1384为例(字典序且重复)
参考:http://blog.youkuaiyun.com/laojiu_/article/details/511153521.非字典序:首先是非字典序不能重复的递归实现:以 1 , 2 , 3 , 4 为例 , 想要得到全排列,必定是 先以 一个数字开头,然后求剩下数字的全排列:以 1 开头,下面跟着 {2, 3, 4} 的全排列;以 2 开头,下面跟着 {1, 3, 4}原创 2017-08-01 10:21:22 · 705 阅读 · 0 评论 -
POJ2007 计算几何基础 点集的逆时针排序(凸多边形)
POJ2007思路:逆时针排序Code:#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int AX = 1e2 + 66 ;int n ; struct Node{ int x , y ; Node( int x , in...原创 2018-10-29 08:54:21 · 901 阅读 · 0 评论 -
牛客国庆集训派对Day1 A思维 C暴力 E贪心 L最短路
ACode:#include <bits/stdc++.h>using namespace std;const int AX = 1e6 + 66;int a[AX] ;map<int,int>mp; int main(){ int a, b, c, d , e , f ; cin >> a >> b >> c >...原创 2018-10-01 19:53:28 · 342 阅读 · 0 评论 -
AIM Tech Round 5 (rated, Div. 1 + Div. 2) A暴力 B构造思维C排序,暴力 D贪心
ACode:#include &lt;bits/stdc++.h&gt;#define LL long longusing namespace std;const int AX = 115+6;char s[AX][AX];int main(){ int n , m; scanf("%d%d",&amp;n,&amp;m); for( int i =...原创 2018-09-02 21:30:13 · 162 阅读 · 0 评论 -
2018"百度之星"程序设计大赛 - 资格赛 1001状压 1002 前缀和 1003 BFS寻路的KM算法 1005 dp+树状数组 1006最小生成树
1001 题意:给n份问卷,每个问卷m道题,每题只有A,B两种选项,问存在多少个问题集合,使得只保留这些问题后至少k对卷子不同。 思路:状压,最大只有(1&amp;amp;amp;amp;lt;&amp;amp;amp;amp;lt;10),用二进制表示选择了哪些题,转为数字,统计这个数字出现的次数 num , num * ( n - num ) 就是这个集合对 不同卷子对数 贡献的2倍,除以2(去重),跟k比较。 Code:#include ...原创 2018-08-06 08:32:57 · 1042 阅读 · 4 评论 -
练习赛12 A贪心,B计算几何求三角形面积C区间覆盖E模拟H .2次bfs J模拟K二分L预处理 M暴力
A 题意:两个数和s最大公约数d,求这个两个数 思路:让其中一个是最大公约数即可。 Code:#include &lt;bits/stdc++.h&gt;#define INF 0x3f3f3f3f#define LL long longusing namespace std;const int AX = 1e6+666;LL gcd( LL a, LL b ){ r...原创 2018-07-31 09:29:38 · 230 阅读 · 0 评论 -
练习赛3 B组合 C multiset D set G 计算几何矩形面积交/并 H模拟 I 组合数公式+逆元 J搜索 K添加限制条件的最短路
B. 题目链接:https://hihocoder.com/problemset/problem/1509 题意:给定一个长度为 n 的非负整数序列 a[1..n] 你需要求有多少个非负整数 S 满足以下两个条件: (1).0 ≤ S &amp;amp;amp;lt; 260 (2).对于所有 1 ≤ i &amp;amp;amp;lt; n ,有 (a[i] xor S) ≤ (a[i+1] xor S)思路:遍历每一对,找每一...原创 2018-07-18 17:41:48 · 374 阅读 · 0 评论 -
暑期集训-Benelux Algorithm Programming Contest 2014 Final 解题报告
B. Button Bashing 题目链接:https://nanti.jisuanke.com/t/28312 题意:给n个按钮,每个可以按无数次,每按一次按钮增加或者减少一些时间,问如果能得到给定的时间,则输出最少次数和0,不能的话输出最少次数+大于给定时间的最小的时间与给定时间的差。 思路: t最多只有3600,所以可以求出每个时刻按下每个按钮后达到的所有时间。然后以这些时间为节...原创 2018-07-11 17:20:00 · 296 阅读 · 0 评论 -
江西财经大学第一届程序设计竞赛
链接:https://www.nowcoder.com/acm/contest/115/B来源:牛客网给出一个出生日期,比如:1999-09-09, 问:从出生那一天开始起,到今天2018-04-21为止(包括出生日期和今天),有多少天,年月日都不包含数字4? 输入描述:第一行输入一个整数T(表示样例个数)接下来T组样例每个样例一行,包含一个字符串“yyyy-mm-dd”(1原创 2018-04-21 19:19:34 · 455 阅读 · 0 评论 -
冒泡排序优化模板
int lastSwapPos , lastSwapPosTemp = 0 ; for( int i = 0 ; i < n ; i++ ){ lastSwapPos = lastSwapPosTemp; for( int j = n - 1 ; j > lastSwapPos ; j-- ){ if( a[j] < a[j-1] ){ swap(a[j],a[j-1])原创 2018-03-21 20:08:41 · 181 阅读 · 0 评论 -
堆排序
http://blog.youkuaiyun.com/morewindows/article/details/6709644/#reply参照这个博客写一个最大堆:父节点与子节点的关系:堆一般都用数组来表示堆,i结点的父结点下标就为(i – 1) / 2。它的左右子结点下标分别为2 * i + 1和2 * i + 2。如第0个结点左右子结点下标分别为1和2。堆的增删操作:原创 2017-07-23 20:02:48 · 224 阅读 · 0 评论 -
快速排序模板
#include using namespace std;const int AX = 50;int a[AX];int n ;int get_pivot_id( int l , int r ){ int pivot = l ; int id = pivot + 1; for( int i = id ; i <= r ; i++ ){ if( a[pivot] > a[i]原创 2018-03-21 18:15:35 · 164 阅读 · 0 评论 -
POJBrainman 归并排序求逆序对
BrainmanTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 11653 Accepted: 5954DescriptionBackgroundRaymond Babbitt drives his brother Charli原创 2018-03-21 16:08:48 · 347 阅读 · 0 评论 -
历届试题 小朋友排队 树状数组or归并排序+结构体
思路:刚开始看到题就以为是用冒泡排序,结果60分,后4组超时,看了下1e5数据量,O(n^2)不挂才怪。然后又想到逆序对,但也不是简单的求一次逆序对,因为交换是两个人都要加上不高兴值,那么就是求每个人右边比他小的数量+左边比他大的数量。那么就有两种方法:一:树状数组求:cnt数组记录每个人右边比他小的数量+左边比他大的数量。正着插入求左边比他大的数量,倒着插入求右边比她小的数量原创 2018-03-21 15:25:53 · 349 阅读 · 0 评论 -
51nod1621 花钱买车牌 排序+贪心
1621 花钱买车牌题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注一个车牌号由n位数字组成。如果一个车牌至少有k位数字是相同的,那么我们就说这个车牌漂亮的车牌。现在华沙想要改变他自己的车牌,使得他的车牌变得漂亮。当然,改车牌是要花钱的。每改变原创 2018-02-07 13:40:22 · 595 阅读 · 0 评论 -
51NOD 1432 独木舟 贪心
1432独木舟基准时间限制:1 秒 空间限制:131072 KB 分值:10难度:2级算法题 收藏 关注 取消关注n个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟?Input第一行包含两个正整数原创 2017-08-27 17:46:01 · 393 阅读 · 0 评论 -
Educational Codeforces Round 27 A B 暴力+贪心 C 贪心+排序
A. Chess Tourneytime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputBerland annual chess tournament is coming!Organizer原创 2017-08-22 10:46:55 · 480 阅读 · 0 评论 -
51NOD 1091 线段重叠 51 NOD 1133不重叠线段 贪心
1091 线段的重叠基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重原创 2017-08-12 11:08:18 · 477 阅读 · 0 评论 -
Codeforces Round #521 (Div. 3) A 模拟 B 贪心 C模拟 D 二分 E 二分+排序
ACode:#include <bits/stdc++.h>#define LL long long using namespace std;int main(){ int T ; cin >> T ; int a , b , k ; LL res ; while( T-- ){ cin >> a >> b >>...原创 2018-11-17 11:17:52 · 185 阅读 · 0 评论