任务说明:将杂乱无章的数据变得有规律。有各种各样的排序算法,看情况使用。

这里有空还是把各种排序算法总结下吧。qsort需要会写。。

P1177 【模板】快速排序

这个题目懒得写了,直接sort了...

以后要补上..

sort版本可以忽略了orz

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm> using namespace std; int main() {
int N;
cin >> N;
vector<int> vec(N);
for (int i = ; i < N; ++i) {
cin >> vec[i];
}
sort(vec.begin(), vec.end());
if (N > ) {
printf("%d", vec[]);
for (int i = ; i < N; ++i) {
printf(" %d", vec[i]);
}
printf("\n");
}
return ; }

P1059 明明的随机数

要求排序+去重

我直接sort -> unique -> resize 了...

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm> using namespace std; int main() {
int N;
cin >> N;
vector<int> vec(N);
for (int i = ; i < N; ++i) {
cin >> vec[i];
}
sort(vec.begin(), vec.end());
auto iter = unique(vec.begin(), vec.end());
vec.resize(std::distance(vec.begin(), iter));
printf("%d\n", vec.size());
if (N > ) {
printf("%d", vec[]);
for (int i = ; i < vec.size(); ++i) {
printf(" %d", vec[i]);
}
printf("\n");
}
return ; }

P1068 分数线划定

感觉比模拟题还水,忽略吧

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <utility> using namespace std; typedef pair<int, int> P; bool cmp(P p1, P p2) {
if (p1.second != p2.second) {
return p1.second > p2.second;
} else {
return p1.first < p2.first;
}
} int main() {
int n, m;
cin >> n >> m;
const int bar = m * / ;
//printf("bar = %d \n", bar); vector<P> vec(n);
for (int i = ; i < n; ++i) {
cin >> vec[i].first >> vec[i].second;
}
sort(vec.begin(), vec.end(), cmp);
if (bar == ) {
printf("0\n");
return ;
}
const int score = vec[bar-].second;
//printf("score = %d \n", score);
int idx = bar-;
while(idx < n && vec[idx].second == score) {
++idx;
}
//printf("final idx = %d \n", idx);
printf("%d %d\n", score, idx);
for(int i = ; i < idx; ++i) {
printf("%d %d\n", vec[i].first, vec[i].second );
} return ;
}

P1781 宇宙总统

候选人有编号和选票,输出最大票数候选人的编号和选票。因为选票很大,所以不能用long long型。用string类型来比较。

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <utility>
#include <string>
#include <cstring> using namespace std; typedef pair<int, int> P; int main() {
int n;
cin >> n;
vector<string> vec(n);
string str;
for (int i = ; i < n; ++i) {
cin >> str;
vec[i] = str;
}
string strMax = vec[];
int ansIdx = ;
for (int i = ; i < n; ++i) {
if (vec[i].size() > strMax.size()) {
strMax = vec[i];
ansIdx = i;
} else if (vec[i].size() == strMax.size() && vec[i] > strMax) {
strMax = vec[i];
ansIdx = i;
}
}
cout << ansIdx+ << endl;
cout << strMax << endl;
return ;
}

【Luogu】【关卡2-3】排序(2017年10月) 【AK】的更多相关文章

  1. 欢迎来怼-Alpha周(2017年10月19)贡献分配规则和分配结果

    .从alpha周(2017年10月19日开始的2周)开始,提高贡献分比重. 贡献分 : 团队分 = 1 : 5 教师会在核算每位同学总分时按比例乘以系数. 每位同学带入团队贡献分10分,如果团队一共7 ...

  2. 2017年10月31日结束Outlook 2007与Office 365的连接

    2017 年10月31日 ,微软即将推出 Office 365中Exchange Online邮箱将需要Outlook for Windows的连接,即通过HTTP Over MAPI方式,传统使用R ...

  3. 江西省移动物联网发展战略新闻发布会举行-2017年10月江西IDC排行榜与发展报告

    编者按:当人们在做技术创新时,我们在做“外包产业“:当人们在做制造产业,我们在做”服务产业“:江人们在做AI智能时,我们在做”物联网“崛起,即使有一个落差,但红色热土从不缺少成长激情. 本期摘自上月初 ...

  4. 【Luogu】【关卡2-4】排序Ex(2017年10月)

    任务说明:这里的排序就更上一层了.不仅融合了别的算法与技巧,排序本身也有各种花招.

  5. 【Luogu】【关卡2-16】线性动态规划(2017年10月)【还差三道题】

    任务说明:这也是基础的动态规划.是在线性结构上面的动态规划,一定要掌握. P1020 导弹拦截 导弹拦截 P1091 合唱队形 老师给同学们排合唱队形.N位同学站成一排,音乐老师要请其中的(N-K)位 ...

  6. 【Luogu】【关卡2-14】 树形数据结构(2017年10月)【AK】

    任务说明:由一个根节点分叉,越分越多,就成了树.树可以表示数据之间的从属关系 P1087 FBI树 给一个01字符串,0对应B,1对应I,F对应既有0子节点又有1子节点的根节点,输出这棵树的后序遍历. ...

  7. 【Luogu】【关卡2-9】带有技巧的搜索(2017年10月)

    任务说明:这里的搜索不仅包含了dfs和bfs,还包括剪枝.记录等技巧以加快速度. [USACO06FEB]数字三角形Backward Digit Su… 滑雪 吃奶酪 靶形数独 P1118 [USAC ...

  8. 【Luogu】【关卡1-8】BOSS战-入门综合练习2(2017年10月)【AK】------都是基础题

    P1426 小鱼会有危险吗 我个人觉得这个题目出的不好,没说明白,就先只粘贴的AC代码吧 #include <bits/stdc++.h> using namespace std; int ...

  9. 【Luogu】【关卡2-15】动态规划的背包问题(2017年10月)【还差一道题】

    任务说明:这是最基础的动态规划.不过如果是第一次接触会有些难以理解.加油闯过这个坎. 01背包二维数组优化成滚动数组的时候有坑有坑有坑!!!必须要downto,downto,downto 情景和代码见 ...

随机推荐

  1. socket套接字编程 HTTP协议

    socket套接字编程  套接字介绍  1. 套接字 : 实现网络编程进行数据传输的一种技术手段  2. Python实现套接字编程:import  socket  3. 套接字分类 >流式套接 ...

  2. 基于 Scrapy-redis 两种形式的分布式爬虫

    基于 Scrapy-redis 两种形式的分布式爬虫 .caret, .dropup > .btn > .caret { border-top-color: #000 !important ...

  3. IE历史纪录

    signed int __cdecl sub_475790(_BYTE *a1) { signed int result; // eax DWORD v2; // [esp+10h] [ebp-10h ...

  4. jquery-ui拖拽对齐线位置不对的操作

    1,在draggable的drag中直接获取$(this).offset()来给对齐线设置top和left: 2,在draggable的drag中直接获取event的clientX去和event的of ...

  5. js对象的深度拷贝

    //判断对象的类型 Array Object Function String Number ..... function getObjType(obj){ return Object.prototyp ...

  6. atcoder 泛做

    https://atcoder.jp/contests/arc060/tasks/arc060_b 先考虑一些特殊情况: $$n>s$$ $$n=s$$ $b$小于$sqrt(N)$可以枚举,如 ...

  7. easyui记录

    var rows = top.$("#queryDetailGrid").datagird("getRows"); //获取datagird所有行 top.$( ...

  8. Java中"String.equals()“和"=="的区别

    Do NOT use the `==`` operator to test whether two strings are equal! It only determines whether or n ...

  9. Vue学习笔记【28】——Vue路由(使用 children 属性实现路由嵌套)

    使用 children 属性实现路由嵌套   <div id="app">    <router-link to="/account"> ...

  10. 配置框架spring和SpringDataJpa整合----员工是爹

    <!-- 1.dataSource 配置数据库连接池--> <bean id="dataSource" class="com.mchange.v2.c3 ...