1.足球联赛

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n;
struct node{
int sc,id;
}a[];
char s[][];
bool cmp(node x,node y){
if(x.sc!=y.sc)return x.sc>y.sc;
return x.id<y.id;
}
int main(){
freopen("soccer.in","r",stdin);freopen("soccer.out","w",stdout);
scanf("%d",&n);
for(int i=;i<=n;i++)scanf("%s",s[i]+),a[i].id=i;
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
if(i==j)continue;
if(s[i][j]=='W')a[i].sc+=;
if(s[i][j]=='L')a[j].sc+=;
if(s[i][j]=='D')a[i].sc+=,a[j].sc+=;
}
}
sort(a+,a+n+,cmp);
int ans=a[].sc;printf("%d ",a[].id);
for(int i=;i<=n;i++){
if(a[i].sc!=ans)return ;
printf("%d ",a[i].id);
}
return ;
}

100分

2.最短路径

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<ctime>
#include<queue>
#define maxn 1010
using namespace std;
int n,b1,b2,pre[maxn];
double x[maxn],y[maxn],dis[maxn][maxn],d[maxn];
double ans=;
bool vis[maxn],v[maxn];
double Calc(double a1,double b1,double a2,double b2){
double res;
res=sqrt((a1-a2)*(a1-a2)+(b1-b2)*(b1-b2));
return res;
}
void dfs(int pos,double sum){
if(sum>=ans)return;
if(x[pos]>x[b1]&&vis[b1]==)return;
if(pos==n){
int p=n;
for(int i=n;i>=;i--){
if(!vis[i]){
sum+=dis[i][p];
p=i;
if(sum>=ans)return;
}
}
ans=min(ans,sum);
return;
}
for(int i=pos+;i<=n;i++){
if(i==b2)continue;
if(i==b1){
vis[i]=;
dfs(i,sum+dis[pos][i]);
vis[i]=;
break;
}
vis[i]=;
dfs(i,sum+dis[pos][i]);
vis[i]=;
}
} struct node{
double v;
int id;
bool operator < (const node x)const{
return v>x.v;
}
};
node make_node(double v,int id){
node res;res.v=v;res.id=id;
return res;
}
double Dij1(){
priority_queue<node>q;
q.push(make_node(,));
memset(vis,,sizeof(vis));
for(int i=;i<=n;i++)d[i]=;
d[]=;
while(!q.empty()){
node now=q.top();q.pop();
if(vis[now.id])continue;
vis[now.id]=;
for(int i=now.id+;i<=n;i++){
if(i>b1)break;
if(d[i]>d[now.id]+dis[now.id][i]){
d[i]=d[now.id]+dis[now.id][i];
q.push(make_node(d[i],i));
pre[i]=now.id;
}
}
}
}
double Dij2(){
priority_queue<node>q;
q.push(make_node(d[b1],b1));
vis[b1]=;
while(!q.empty()){
node now=q.top();q.pop();
if(vis[now.id])continue;
vis[now.id]=;
for(int i=now.id+;i<=n;i++){
if(d[i]>d[now.id]+dis[now.id][i]){
d[i]=d[now.id]+dis[now.id][i];
q.push(make_node(d[i],i));
pre[i]=now.id;
}
}
}
double res=;
int now=n;
while(now){
v[now]=;
res+=dis[now][pre[now]];
now=pre[now];
}
v[]=;
int p=n;
for(int i=n;i>=;i--){
if(!v[i]){
res+=dis[i][p];
p=i;
}
}
return res;
} int main(){
freopen("paths.in","r",stdin);freopen("paths.out","w",stdout);
// freopen("Cola.txt","r",stdin);
scanf("%d%d%d",&n,&b1,&b2);
b1++;b2++;
for(int i=;i<=n;i++)scanf("%lf%lf",&x[i],&y[i]);
for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++){
double d=Calc(x[i],y[i],x[j],y[j]);
dis[i][j]=dis[j][i]=d;
}
if(n<=){//爆搜
dfs(,);
printf("%.2lf",ans);
return ;
}
else{//贪心
double ans1=,ans2=;
memset(v,,sizeof(v));
Dij1();
ans1=Dij2();
printf("%.2lf",ans1);
}
}

20分 暴力

3.阿Q的停车场

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,F,x,pos[],car[];
bool check(int x){
int cnt=;
for(int i=;i<=n;i++){
if(car[i]==)cnt++;
else cnt=;
if(cnt>=x)return ;
}
return ;
}
void Insert(int id){
int l=,r=,mid,len=;
while(l<=r){
mid=(l+r)>>;
if(check(mid))len=mid,l=mid+;
else r=mid-;
}
if(len%==)len-=;
l=,r=;
int Pos;
for(int i=;i<=n;i++){
if(car[i]==)r=i;
if(car[i]>)l=i+;
if(r-l+>=len)break;
}
if(r==n-&&car[n]==)r=n;
if(l==){
puts("");
pos[id]=;
car[]=id;
return;
}
else if(r==n){
printf("%d\n",n);
pos[id]=n;
car[n]=id;
return;
}
Pos=l+len/;
pos[id]=Pos;
car[Pos]=id;
printf("%d\n",Pos);
}
int main(){
// freopen("park.in","r",stdin);freopen("park.out","w",stdout);
// freopen("Cola.txt","r",stdin);
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++){
scanf("%d%d",&F,&x);
if(F==){
if(i==){
puts("");
car[]=x;
pos[x]=;
}
else Insert(x);
}
if(F==){
car[pos[x]]=;
pos[x]=;
}
}
}

10分 暴力

2017-11-8 NOIP模拟赛的更多相关文章

  1. 11/1 NOIP 模拟赛

    11.1 NOIP 模拟赛 期望得分:50:实际得分:50: 思路:暴力枚举 + 快速幂 #include <algorithm> #include <cstring> #in ...

  2. 11.7 NOIP模拟赛

    目录 2018.11.7 NOIP模拟 A 序列sequence(two pointers) B 锁lock(思路) C 正方形square(埃氏筛) 考试代码 B C 2018.11.7 NOIP模 ...

  3. 2017 10.25 NOIP模拟赛

    期望得分:100+40+100=240 实际得分:50+40+20=110 T1 start取了min没有用,w(゚Д゚)w    O(≧口≦)O T3 代码3个bug :数组开小了,一个细节没注意, ...

  4. 2017.5.27 NOIP模拟赛(hzwer2014-5-16 NOIP模拟赛)

    期望得分:100+100+60+30=290 实际得分:100+20+60+0=180 当务之急:提高一次正确率 Problem 1 双色球(ball.cpp/c/pas) [题目描述] 机房来了新一 ...

  5. NOIP模拟赛-2018.11.7

    NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...

  6. NOIP模拟赛-2018.11.6

    NOIP模拟赛 今天想着反正高一高二都要考试,那么干脆跟着高二考吧,因为高二的比赛更有技术含量(我自己带的键盘放在这里). 今天考了一套英文题?发现阅读理解还是有一些困难的. T1:有$n$个点,$m ...

  7. NOIP模拟赛-2018.11.5

    NOIP模拟赛 好像最近每天都会有模拟赛了.今天从高二逃考试跑到高一机房,然而高一也要考试,这回好像没有拒绝的理由了. 今天的模拟赛好像很有技术含量的感觉. T1:xgy断句. 好诡异的题目,首先给出 ...

  8. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  9. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  10. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

随机推荐

  1. $.ajax()方法详解(转)

    以下内容转自:http://www.cnblogs.com/tylerdonet/p/3520862.html   尊重原创,请访问原创文章 jquery中的ajax方法参数总是记不住,这里记录一下. ...

  2. cssParser

    //cssParser.h #include<iostream> using namespace std;struct MyAttribute{ MyAttribute*  next; s ...

  3. HihoCoder 1636

    /** * 题目链接:https://cn.vjudge.net/problem/HihoCoder-1636 * 题目意思,石子合并,每次可以合并相邻的石子.每次可以x堆合并为一堆. * x属于[l ...

  4. CTreeCtrl控件

    一.HTREEITEM HTREEITEM是树中节点的句柄,也就是一个DWORD值.在树中唯一标识一个节点.它的值对于程序员其实没有什么意义,只是可以通过它找到一个节点,从而取得节点的属性,如 Get ...

  5. 使用NSURLProtocol和NSURLSession拦截UIWebView的HTTP请求(包括ajax请求)

    问题:服务器端有一个网站需要AD认证,整站都开了Basic认证,包括图片,CSS等资源,我在HTTP请求头里面添加认证所需的用户名和密码,传递到服务器端可以认证通过.我在UIWebView的shoul ...

  6. [转]由Tencent://Message协议想到的一个解决方案

    源代码下载:http://files.cnblogs.com/phinecos/HelloWorldProtocal.rar 前天在BruceZhang的一篇博文<求助:如何在ASP页面中调用W ...

  7. bzoj 2716 天使玩偶 —— K-D树

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2716 果然和 bzoj 2648 是一样的吧: 只是数组要迷之开大,3e5+5 会RE? 代 ...

  8. 开源Log框架和平台介绍

    共有162款 日志工具(Logging)开源软件 http://www.oschina.net/project/tag/144/logging

  9. tx2在自制载板上无法识别usb以及pcie无法读取数据

    注意使用的系统版本是Jetpack-3.1,其它版本的系统上没有测试过!!! 刷机时替换dtb文件: 将Jetpack刷机包 64_TX2/Linux_for_Tegra_tx2/kernel/dtb ...

  10. rails中一个窗体多个模型——fields_for

    详细参考 http://railscasts.com/episodes/73-complex-forms-part-1中part-1.2.3部分 借助field_for可以生成表单来处理两个或更多模型 ...