nenu contest
http://vjudge.net/vjudge/contest/view.action?cid=54393#overview
A n^2能过 对第二个n我二分了一下,快了一点点,nlogn
#include<cstdio>
#include<algorithm>
using namespace std;
double judge[];
int main(){
for(int i=;i<;i++){
judge[i]=i*;
}
double now;
int n,s;
while(~scanf("%d%d",&n,&s)){
int sum=;
for(int i=;i<n;i++){
scanf("%lf",&now);
int L=lower_bound(judge,judge+,now)-judge;
if(judge[L]>now) L--;
if(judge[L]<=now&&now<=judge[L]+) sum++;
}
printf("%.1f\n",sum*(+0.2*s));
}
return ;
}
A LEE的on的方法也很值得借鉴,竟然比我二分的慢,不知为何,数据小吧
#include<cstdio>
const double eps = 1e-;
int main() {
int n, s, cnt;
double t;
while (~scanf("%d%d", &n, &s)) {
cnt = ;
while (n--) {
scanf("%lf", &t);
int T = int(t);
if (T % < || (T % == && (t-T) < eps)) {
cnt++;
}
}
printf("%.1f\n", cnt*( + 0.2*s));
}
return ;
}
B %X scanf printf 16进制输入输出
#include<cstdio>
#include<cstring>
const int M=;
char op[M];
int main(){
int t,sa,sb;
while(~scanf("%d",&t)){
while(t--){
scanf("%X%X",&sa,&sb);
getchar();
gets(op);
int lp=strlen(op);
for(int i=;i<lp;i++){
if(op[i]==''){
if(op[i+]=='A'){
sa+=sb;
}
else{
sb+=sa;
}
i+=;
}
else if(op[i]=='F'){
if(op[i+]=='A'){
sa+=sa;
}
else{
sb+=sb;
}
i+=;
}
}
printf("%X %X\n",sa,sb);
}
}
return ;
}
C 比赛时n^2logn 900ms压线过,事实上nlogn就行了
#include<cstdio>
#include<cstring>
#include<iostream>
#include<map>
#define mt(a,b) memset(a,b,sizeof(a))
using namespace std;
const int M=;
class UnionFindSet { //并查集
int par[M];
public:
void init() {
mt(par,-);
}
int getroot(int x) {
int i=x,j=x,temp;
while(par[i]>=) i=par[i];
while(j!=i) {
temp=par[j];
par[j]=i;
j=temp;
}
return i;
}
bool unite(int x,int y) {
int p=getroot(x);
int q=getroot(y);
if(p==q)return false;
if(par[p]>par[q]) {
par[q]+=par[p];
par[p]=q;
} else {
par[p]+=par[q];
par[q]=p;
}
return true;
}
}gx;
map<string,int> mp;
string str;
int main(){
int n,m;
char op[];
while(~scanf("%d",&n)){
bool flag=false;
gx.init();
mp.clear();
for(int i=;i<=n;i++){
scanf("%d",&m);
while(m--){
flag=true;
scanf("%s",op);
str=(string)op;
if(!mp[str]){
mp[str]=i;
}
else{
gx.unite(mp[str],i);
}
}
}
if(!flag){
printf("%d\n",n);
continue;
}
int ans=;
for(int i=;i<=n;i++){
if(i==gx.getroot(i)) ans++;
}
printf("%d\n",ans-);
}
return ;
}
I n^2能过400ms on单调队列62ms
#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;
const int M=;
int a[M],b[M];
int main(){
int n,m;
while(~scanf("%d%d",&n,&m)){
for(int i=;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=;i<m;i++){
scanf("%d",&b[i]);
}
int la=,lb=,ans=1e9;
while(la!=n&&lb!=m){
ans=min(ans,abs(a[la]-b[lb]));
if(a[la]>b[lb]) lb++;
else la++;
}
printf("%d\n",ans);
}
return ;
}
J on 水题
#include<cstdio>
typedef __int64 LL;
const int M=;
char a[M][];
int main(){
int n;
while(~scanf("%d",&n)){
for(int i=;i<n;i++){
scanf("%s",a[i]);
}
LL ans=;
LL sum=;
for(int i=n-;i>=;i--){
if(a[i][]=='W') ans+=sum;
else sum++;
}
printf("%I64d\n",ans);
}
return ;
}
nenu contest的更多相关文章
- nenu contest3 The 5th Zhejiang Provincial Collegiate Programming Contest
ZOJ Problem Set - 2965 Accurately Say "CocaCola"! http://acm.zju.edu.cn/onlinejudge/showP ...
- Programming Contest Problem Types
Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...
- hdu 4946 2014 Multi-University Training Contest 8
Area of Mushroom Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- 2016 Multi-University Training Contest 2 D. Differencia
Differencia Time Limit: 10000/10000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tot ...
- 2016 Multi-University Training Contest 1 G. Rigid Frameworks
Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- hdu-5988 Coding Contest(费用流)
题目链接: Coding Contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Ot ...
- ZOJ 3703 Happy Programming Contest
偏方记录背包里的物品.....每个背包的价值+0.01 Happy Programming Contest Time Limit: 2 Seconds Memory Limit: 65536 ...
- 2012 Multi-University Training Contest 9 / hdu4389
2012 Multi-University Training Contest 9 / hdu4389 打巨表,实为数位dp 还不太懂 先这样放着.. 对于打表,当然我们不能直接打,这里有技巧.我们可以 ...
- 2014 Multi-University Training Contest 9#11
2014 Multi-University Training Contest 9#11 Killing MonstersTime Limit: 2000/1000 MS (Java/Others) ...
随机推荐
- SQL取某个字段最大(小)数值及其相应行的其他字段值的句语
如下表Z 中,取 字段a 最大的那行 字段a 字段a 字段cSP000016964 5 20SP000016964 7 30SP000016964 1 15SP0000177 ...
- js 日期函数用法总结
1 创建Date对象,用于处理日期和时间 var date=new Date(); Date对象会把当前日期和时间保存为初始值. 还可以设置其它参数初始化 Date对象: new Date(" ...
- 【学习笔记】【C语言】字符串数组
1.使用场合 * 一维字符数组中存放一个字符串,比如一个名字char name[20] = "mj" * 如果要存储多个字符串,比如一个班所有学生的名字,则需要二维字符数组,cha ...
- Js获取标签高度
能力有限:问个问题,标签相对页面高度,是怎么写? 鼠标的横坐标,X轴: event.clientX; 鼠标的竖坐标,Y轴: event.clientY; 网页可见区域宽: document.bo ...
- java静态代码块、初始化块和构造方法的执行顺序
分析:当执行new Child()时,它首先去看父类里面有没有静态代码块,如果有,它先去执行父类里面静态代码块里面的内容,当父类的静态代码块里面的内容执行完毕之后,接着去执行子类(自己这个类)里面的静 ...
- hdu 1203 I NEED A OFFER (0-1背包)
题意分析:0-1背包变形 递推公式:dp[i] = max(dp[i], 1-(1-dp[i-C])*(1-p)) /* I NEED A OFFER! Time Limit: 2000/1000 ...
- 南阳理工ACM——106背包问题
描述: 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10):如果给你一个背包它能容纳的重量为m(10<=m<=20),你 ...
- 探索VS中C++多态实现原理
引言 最近把<深度探索c++对象模型>读了几遍,收获甚大.明白了很多以前知其然却不知其所以然的姿势.比如构造函数与拷贝构造函数什么时候被编译器合成,虚函数.实例函数.类函数的区别等等.在此 ...
- Android studio 读取properties文件
System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath( ...
- Bootstrap轮播获取当前活动的焦点对象
在项目中使用了Bootstrap的轮播,需求是轮播下方有一个已读按钮,当点击已读按钮时,隐藏掉当前的焦点的轮播内容: 如图所示: 所以要获取当前的焦点是哪一条: 下方代码是在网络上找到的一个方 ...