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. OPcache

    1.介绍 OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销 2.配置 2.1 opcac ...

  2. stl_pair.h

    stl_pair.h // Filename: stl_pair.h // Comment By: 凝霜 // E-mail: mdl2009@vip.qq.com // Blog: http://b ...

  3. php各种验证类

    <?php /**  * 验证类  *  */ class VerifyAction{     /**      * 是否为空值      */       public static func ...

  4. 非系统数据文件损坏,rman备份恢复

    实验前提:已经做好备份. SQL> col file_name for a50select file_id,file_name from dba_data_files; FILE_ID FILE ...

  5. python为类定义构造函数

    用python进行OO编程时, 经常会用到类的构造函数来初始化一些变量. class FileData:     def __init__(self, data, name, type):       ...

  6. 查看linux上所有用户

    1.查看所有用户名 cat /etc/passwd |cut -f 1 -d #是1不是L的小写 2.显示用户信息 whoami 查看当前登录用户名. id username 查看用户的uid,gid ...

  7. Poj_1045

    这道题难点在于基本物理知识和数学的结合. 得出公式后再code,那就是小菜一碟了. import java.util.Scanner; import java.lang.Math; public cl ...

  8. web攻击之六:DNS攻击原理与防范

    随着网络的逐步普及,网络安全已成为INTERNET路上事实上的焦点,它关系着INTERNET的进一步发展和普及,甚至关系着INTERNET的生存.可喜的是我们那些互联网专家们并没有令广大INTERNE ...

  9. DCloud-MUI:Hello MUI2

    ylbtech-DCloud: 1. <head> <meta charset="utf-8"> <title>Hello MUI</ti ...

  10. docker出现错误 could not read CA certificate

    1. 问题描述 $ docker login # 无法正常使用 其他一堆命令,显示验证失败之类的问题 2. 解决方案 $ unset DOCKER_TLS_VERIFY $ unset DOCKER_ ...