zzulioj-1899

news/2024/12/22 12:56:10/


1899: 985的最大和难题

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 319   Solved: 37

Submit Status Web Board

Description

985有2 * n - 1个整数,他每次可以将其中n个数变号,操作次数不限,问他可以得到的最大和。

Input

第一行输入一个整数t,代表有t组测试数据。
每组数据占两行,第一行输入一个整数n,下面一行输入2*n-1个整数a[]。
注:1 <= t <= 32,1 <= n <= 1e3,-1e3 <= a[] <= 1e3。

Output

输出一个整数代表可以得到的最大和。

Sample Input

221 1 12-10 20 -10

Sample Output

340

HINT

Source

hpu


2*n-1个数,它是一个奇数,如果n时奇数,有a个负数,b个整数,(a+b)==n;所以可以把又有的负数
变成正数,举例 n=7;n=3+4;每次换都可以减少一个负数,增加一个偶数
n为偶数时那就有2种情况 1、负数的个数是 y,y如果是偶数就可以把所有的负数转化为正数
2、 y为奇数,那肯定会剩下一个负数 (完@_@) 


#include<cstdio>
#include<algorithm>
using namespace std;
int num[1000000+11];int main()
{int t;scanf("%d",&t);while(t--){int n,i;scanf("%d",&n);int sum=0,y=0;for(i=0;i<2*n-1;++i){scanf("%d",&num[i]);if(num[i]<0){num[i]=-num[i];++y;}sum+=num[i];}if(n&1)printf("%d\n",sum);else{if(y&1){sort(num,num+2*n-1);sum-=2*num[0];//一定要*2倍,因为刚开始已经加过了 printf("%d\n",sum);}elseprintf("%d\n",sum);}}return 0;
}



http://www.ppmy.cn/news/772480.html

相关文章

#贪心,动态规划#洛谷 2577 BZOJ 1899 午餐

题目 分析 首先吃饭越长应该越先开始打饭 安排好顺序后 设 d p [ i ] [ j ] dp[i][j] dp[i][j]表示前 i i i个人&#xff0c;在1号窗口打饭总时间j&#xff0c;最早吃完饭的时间 那么 d p [ i ] [ j a [ i ] . x ] min ⁡ { d p [ i ] [ j a [ i ] . x ] , m a x ( d p [ i…

1899 用迭代法求平方根

题目描述 用迭代法求 。求平方根的迭代公式为: X[n+1]=1/2(X[n]+a/X[n]) 要求前后两次求出的得差的绝对值少于0.00001。 输出保留3位小数 输入 X 输出 X的平方根 样例输入 4 样例输出 2.000 #include<bits/stdc++.h> using namespace std; int main() {double…

网站数据用户行为分析 ---- A/B测试

分析A/B测试结果 目录 简介I - 概率II - A/B 测试III - 回归 简介 为了得出电子商务网站运行的 A/B 测试的结果,帮助公司弄清楚是否应该使用新的页面&#xff0c;保留旧的页面&#xff0c;或者应该将测试时间延长&#xff0c;之后再做出决定。 I - 概率 import pandas as p…

bzoj1899 zjoi 午餐

http://www.elijahqi.win/archives/543 描述 上午的训练结束了&#xff0c;THU ACM小组集体去吃午餐&#xff0c;他们一行N人来到了著名的十食堂。这里有两个打饭的窗口&#xff0c;每个窗口同一时刻只能给一个人打饭。由于每个人的口味&#xff08;以及胃口&#xff09;不同…

1899最大和难题

1899: 985的最大和难题 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 329 Solved: 41 Submit Status Web Board Description 985有2 * n - 1个整数&#xff0c;他每次可以将其中n个数变号&#xff0c;操作次数不限&#xff0c;问他可以得到的最大和。 Input 第一行输入…

A. Division?

time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Codeforces separates its users into 44 divisions by their rating: For Division 1: 1900≤rating1900≤ratingFor Division 2: 1600≤rating≤18…

bzoj 1899 贪心+dp

思路&#xff1a;这个贪心排顺序我居然没看出来。 吃饭时间长的在前面&#xff0c; 用反证法很容易得出。 剩下的就是瞎dp啦。 #include<bits/stdc.h> #define LL long long #define fi first #define se second #define mk make_pair #define PII pair<int, int> …

FJUT ACM 1899 Largest Rectangle in a Histogram

#include<bits/stdc.h> using namespace std; typedef long long ll; /** 【思路】&#xff1a;其实一开始维护一个单调的栈&#xff0c; 这个栈存储序号&#xff0c;然后判断是不是可以填入&#xff0c; 如果可以填进去&#xff0c;就是维护一个单调递增的栈 如果输入一…