UVA11039】的更多相关文章

解析 微扰法贪心经典题 代码 #include <bits/stdc++.h> using namespace std; bool cmp(const string &x, const string &y) { return x + y > y + x; } int main() { int n; while (~scanf("%d", &n) && n) { string str[55]; for (int i = 1; i…
题意:      给你一个序列,由n个数字组成,每个数字的绝对值都不相同,然后让你从这n个数中拿出一些数,组成一个绝对值递增并且正负交替的最大序列,问组成的最大序列的最大长度是多少? 思路:       比较简单,突破口是所有数字的绝对值都不同,那么我们直接模拟就行了,直接按绝对值sort一遍,然后第一个默认是找出序列的第一个,然后直接看看有多少正负交替的就行了,具体看代码. #include<stdio.h> #include<algorithm> #define N 50000…
https://vjudge.net/problem/UVA-11039 题意: 有n个绝对值各不相同的非0整数,选出尽量多的数,排成一个序列,使得正负号交替且绝对值递增. 思路:正数存一个数组,负数存一个数组,排序后进行遍历即可. #include<iostream> #include<algorithm> #include<string> using namespace std; + ; int n; int a[maxn],b[maxn]; int main()…