140 - The 12th Zhejiang Provincial Collegiate Programming Contest(浙江省赛2015)
Ace of Aces
Time Limit: 2 Seconds Memory Limit: 65536 KB
There is a mysterious organization called Time-Space Administrative Bureau (TSAB) in the deep universe that we humans have not discovered yet. This year, the TSAB decided to elect an outstanding member from its elite troops. The elected guy will be honored with the title of "Ace of Aces".
After voting, the TSAB received N valid tickets. On each ticket, there is a number Ai denoting the ID of a candidate. The candidate with the most tickets nominated will be elected as the "Ace of Aces". If there are two or more candidates have the same number of nominations, no one will win.
Please write program to help TSAB determine who will be the "Ace of Aces".
Input
There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:
The first line contains an integer N (1 <= N <= 1000). The next line contains N integers Ai (1 <= Ai <= 1000).
Output
For each test case, output the ID of the candidate who will be honored with "Ace of Aces". If no one win the election, output "Nobody" (without quotes) instead.
Sample Input
3
5
2 2 2 1 1
5
1 1 2 2 3
1
998
Sample Output
2
Nobody
998
题意:求出现次数最多的那个数,如果有多个(最多次数相等的)就输出Nobody
转载请注明出处:
寻找&星空の孩子
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <math.h>
#include <algorithm>
using namespace std;
#define ls 2*i
#define rs 2*i+1
#define up(i,x,y) for(i=x;i<=y;i++)
#define down(i,x,y) for(i=x;i>=y;i--)
#define mem(a,x) memset(a,x,sizeof(a))
#define w(a) while(a)
#define LL long long
const double pi = acos(-1.0);
#define Len 20005
#define mod 19999997
const int INF = 0x3f3f3f3f; int t,n,a,maxn,flag; struct node
{
int cnt,id;
}hsh[]; int cmp(node a,node b)
{
return a.cnt<b.cnt;
}; int main()
{
int i;
scanf("%d",&t);
w(t--)
{
scanf("%d",&n);
mem(hsh,);
up(i,,n-)
{
scanf("%d",&a);
hsh[a].id = a;
hsh[a].cnt++;
}
sort(hsh,hsh+,cmp);
if(hsh[].cnt==hsh[].cnt)
printf("Nobody\n");
else
printf("%d\n",hsh[].id);
} return ;
}
Team Formation
Time Limit: 3 Seconds Memory Limit: 131072 KB
For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team from N students of his university.
Edward knows the skill level of each student. He has found that if two students with skill level A and B form a team, the skill level of the team will be A ⊕ B, where ⊕ means bitwise exclusive or. A team will play well if and only if the skill level of the team is greater than the skill level of each team member (i.e. A ⊕ B > max{A, B}).
Edward wants to form a team that will play well in the contest. Please tell him the possible number of such teams. Two teams are considered different if there is at least one different team member.
Input
There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:
The first line contains an integer N (2 <= N <= 100000), which indicates the number of student. The next line contains N positive integers separated by spaces. The ith integer denotes the skill level of ith student. Every integer will not exceed 109.
Output
For each case, print the answer in one line.
Sample Input
2
3
1 2 3
5
1 2 3 4 5
Sample Output
1
6
题意:选数组里的两个数,要求A与B异或得C,C>max(A,B);
思路:利用二进制,把每个数分解成二进制,循环对每个数的各个位取&,在高位相等的情况下,低位有为0的情况就说明可以加上,然后加上对应是数量。
转载请注明出处:
寻找&星空の孩子
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <math.h>
#include <algorithm>
using namespace std;
#define ls 2*i
#define rs 2*i+1
#define up(i,x,y) for(i=x;i<=y;i++)
#define down(i,x,y) for(i=x;i>=y;i--)
#define mem(a,x) memset(a,x,sizeof(a))
#define w(a) while(a)
#define LL long long
const double pi = acos(-1.0);
#define Len 20005
#define mod 19999997
const int INF = 0x3f3f3f3f; int t,n,a[],bit[]; int main()
{
int i,j,k;
scanf("%d",&t);
w(t--)
{
mem(bit,);
scanf("%d",&n);
up(i,,n-)
{
scanf("%d",&a[i]);
for(j = ;j>=;j--)
{
if(a[i]&(<<j))
{
bit[j]++;
break;
}
}
}
LL ans = ;
up(i,,n-)
{
if(a[i])
{
int l = ;
w()
{
if(a[i]&(<<l)) break;
l--;
}
w(l>=)
{
if(!(a[i]&(<<l))) ans+=bit[l];
l--;
}
}
}
printf("%lld\n",ans);
} return ;
}
Convex Hull
Time Limit: 3 Seconds Memory Limit: 65536 KB
Edward has n points on the plane. He picks a subset of points (at least three points), and defines the beauty of the subset as twice the area of corresponding convex hull. Edward wants to know summation of the beauty of all possible subsets of points (at least three points).
No two points coincide and no three points are on the same line.
Input
There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:
The first line contains an integer n (3 ≤ n ≤ 1000). Each of following n lines contains 2 integers xi, yi which denotes a point (xi, yi) (0 ≤ |xi|, |yi| ≤ 109).
The sum of values n for all the test cases does not exceed 5000.
Output
For each case, if the answer is S, output a single integer denotes S modulo 998244353.
Sample Input
1
3
0 0
0 1
1 0
Sample Output
1
题意:求凸边型面积的2倍,问你取大于等于3个点的两倍面积的和;
思路:求每个三个点组成的三角形面积的2倍,然后多边形面积可以由三角形面积的加起来;(三角形每个有2^(n-3)个)
(超时了。。。还在改,有没有更好的思路)
Beauty of Array
Time Limit: 2 Seconds Memory Limit: 65536 KB
Edward has an array A with N integers. He defines the beauty of an array as the summation of all distinct integers in the array. Now Edward wants to know the summation of the beauty of all contiguous subarray of the array A.
Input
There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:
The first line contains an integer N (1 <= N <= 100000), which indicates the size of the array. The next line contains N positive integers separated by spaces. Every integer is no larger than 1000000.
Output
For each case, print the answer in one line.
Sample Input
3
5
1 2 3 4 5
3
2 3 3
4
2 3 3 2
Sample Output
105
21
38
转载请注明出处:
寻找&星空の孩子
题意:算连续集合里不同数的和,然后所有集合的总和;
思路:dp,每次新加的数,先dp[i-1]+a[i],总是要减去最近的相同的数的个数;
eg: 2 3 4 3 2 3 .....(括号内的数,表示集合由多少个数)
2(1) 3(1) 4(1) 3(1) 2(1) 3(1)
2+3(2) 3+4(2) 4+3(2) 3+2(2) 2+3(2)
2+3+4(3) 3+4(3) 4+3+2(3) 3+2(3)
2+3+4(4) 3+4+2(4) 4+3+2(4)
2+3+4(5) 3+4+2(5)
2+3+4(5)
#include<stdio.h>
#include<string.h>
#define LL long long
const int N = ;
LL dp[N];
int hsh[N]; int main()
{
int t,n,a;
scanf("%d",&t);
while(t--)
{
memset(hsh,,sizeof(hsh));
scanf("%d",&n);
dp[]=;
for(int i=;i<=n;i++)
{
scanf("%d",&a);
dp[i]=dp[i-]+a+(i--hsh[a])*a;
hsh[a]=i;
}
LL ans=;
for(int i=;i<=n;i++)
ans+=dp[i];
printf("%lld\n",ans);
}
}
140 - The 12th Zhejiang Provincial Collegiate Programming Contest(浙江省赛2015)的更多相关文章
- 140 - The 12th Zhejiang Provincial Collegiate Programming Contest(第二部分)
Floor Function Time Limit: 10 Seconds Memory Limit: 65536 KB a, b, c and d are all positive int ...
- 140 - The 12th Zhejiang Provincial Collegiate Programming Contest(第三部分)
Earthstone Keeper Time Limit: 4 Seconds Memory Limit: 65536 KB Earthstone Keeper is a famous ro ...
- zoj The 12th Zhejiang Provincial Collegiate Programming Contest Capture the Flag
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5503 The 12th Zhejiang Provincial ...
- zoj The 12th Zhejiang Provincial Collegiate Programming Contest Team Formation
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5494 The 12th Zhejiang Provincial ...
- zoj The 12th Zhejiang Provincial Collegiate Programming Contest Beauty of Array
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5496 The 12th Zhejiang Provincial ...
- zoj The 12th Zhejiang Provincial Collegiate Programming Contest Lunch Time
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5499 The 12th Zhejiang Provincial ...
- zoj The 12th Zhejiang Provincial Collegiate Programming Contest Convert QWERTY to Dvorak
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5502 The 12th Zhejiang Provincial ...
- zoj The 12th Zhejiang Provincial Collegiate Programming Contest May Day Holiday
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5500 The 12th Zhejiang Provincial ...
- zoj The 12th Zhejiang Provincial Collegiate Programming Contest Demacia of the Ancients
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5504 The 12th Zhejiang Provincial ...
随机推荐
- SimpleCursorAdapter和ListView的结合使用
我们在用SQLite查数据的时候,经常会用到Cursor这个游标,我们希望能将游标指向的数据直接绑定到ListView中,这样就免去了将游标数据取出然后转换到SimpleAdapter中的麻烦.今天我 ...
- 前端之js
简介: JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览器解释执行的 前端三大块 ...
- 安装Intellij IDEA(ideaIU-2017.2.3)并完成Intellij IDEA的简单配置
一.Intellij IDEA的简介 Intellij IDEA是java语言的集成开发环境,与Eclipse相比,它的功能更多.更强大.更智能,Eclipse更适合刚学习java语言的初学者,它操作 ...
- STL中的容器介绍
STL中的容器主要包括序列容器.关联容器.无序关联容器等. 一]序列容器 (1) vector vector 是数组的一种类表示,提供自动管理内存的功能,除非其他类型容器有更好满足程序的要求,否则,我 ...
- SDWebImage之SDWebImageDownloaderOperation
上篇讲了SDWebImageDownloader,从源码分析的过程中,我们知道,实际执行下载任务的是SDWebImageDownloaderOperation,本篇我们来看看SDWebImageDow ...
- DRF 商城项目 - 日志处理
logging 模块 logging 模块是最基本的日志处理模块 缺陷 但是拥有一些很致命的缺陷 要求用户主动查询, 需要登录到服务器才可以查看日志文件 自带的报错外部通知也没办法判断同类取舍, 短 ...
- Python selenium + Firefox启动浏览器
Python selenium 的运用 from selenium import webdriver # from selenium.webdriver.firefox.firefox_profile ...
- 深圳scala-meetup-20180902(3)- Using heterogeneous Monads in for-comprehension with Monad Transformer
scala中的Option类型是个很好用的数据结构,用None来替代java的null可以大大降低代码的复杂性,它还是一个更容易解释的状态表达形式,比如在读取数据时我们用Some(Row)来代表读取的 ...
- consul初步学习
简介 consul是一个服务发现框架 类似的还有zookeeper,eureka,etcd等 作用 服务发现(service discovery) 健康检查(health checking) 配置存储 ...
- Shell-16--函数
函数的定义和调用放在一起(同一个shell)的好处是不会存在路径的问题:如果功能复杂,则应分开