2021年度训练联盟热身训练赛第三场——C,G,I

简介: 2021年度训练联盟热身训练赛第三场——C,G,I

感谢队友带飞,赛后1min过G,经典操作

C——Gerrymandering(枚举

原题链接

题意:

求每个地区A和B的无效票,以及所有地区的 efficiency gap 之和。

代码:

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, ll>PLL;
typedef pair<int, int>PII;
typedef pair<double, double>PDD;
#define I_int ll
inline ll read()
{
    ll x = 0, f = 1;
    char ch = getchar();
    while(ch < '0' || ch > '9')
    {
        if(ch == '-')f = -1;
        ch = getchar();
    }
    while(ch >= '0' && ch <= '9')
    {
        x = x * 10 + ch - '0';
        ch = getchar();
    }
    return x * f;
}
#define read read()
#define closeSync ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define multiCase int T;cin>>T;for(int t=1;t<=T;t++)
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i<(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define perr(i,a,b) for(int i=(a);i>(b);i--)
ll ksm(ll a, ll b, ll p)
{
    ll res = 1;
    while(b)
    {
        if(b & 1)res = res * a % p;
        a = a * a % p;
        b >>= 1;
    }
    return res;
}
const int inf = 0x3f3f3f3f;
#define PI acos(-1)
const double eps = 1e-8;
const int maxn =1e5+7;
struct node{
  int a,b;
  int wa,wb;
}s[maxn];
int main(){
  int n=read,m=read;
  for(int i=1;i<=n;i++){
    int op=read,u=read,v=read;
    s[op].a+=u,s[op].b+=v;
  }
  for(int i=1;i<=m;i++){
    if(s[i].a<s[i].b){
      cout<<"B ";
      cout<<s[i].a<<" ";
      cout<<s[i].b-(s[i].a+s[i].b)/2-1<<endl;
      s[i].wa=s[i].a;
      s[i].wb=s[i].b-(s[i].a+s[i].b)/2-1;
    }
    else{
      cout<<"A ";
      cout<<s[i].a-(s[i].a+s[i].b)/2-1<<" ";
      cout<<s[i].b<<endl;
      s[i].wa=s[i].a-(s[i].a+s[i].b)/2-1;
      s[i].wb=s[i].b;
    } 
  }
  int wsa=0,wsb=0,sum=0;
  for(int i=1;i<=m;i++){
    wsa=wsa+s[i].wa;
    wsb=wsb+s[i].wb;
    sum=sum+s[i].a+s[i].b;
  }
  printf("%.10lf\n",abs(wsa-wsb)*1.0/sum);
  return 0;
}

G ——Research Productivity Index(概率DP+数学期望)

思路:

用概率dp求出概率,再结合数学期望的定义。

d p [ i ] [ j ] 表示选择前i ii个文章时成功了j jj篇的概率:

转移考虑第i ii篇文章是否成功,如果成功的话说明前i − 1 篇文章只成功了j − 1 篇,不成功的话说明前i − 1篇文章成功了j篇。

注意初始化:前0 00篇成功了0 00篇的概率是1.

期望的话就是∑ p i ∗ x i

代码:

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, ll>PLL;
typedef pair<int, int>PII;
typedef pair<double, double>PDD;
#define I_int ll
inline ll read()
{
    ll x = 0, f = 1;
    char ch = getchar();
    while(ch < '0' || ch > '9')
    {
        if(ch == '-')f = -1;
        ch = getchar();
    }
    while(ch >= '0' && ch <= '9')
    {
        x = x * 10 + ch - '0';
        ch = getchar();
    }
    return x * f;
}
#define read read()
#define closeSync ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define multiCase int T;cin>>T;for(int t=1;t<=T;t++)
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i<(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define perr(i,a,b) for(int i=(a);i>(b);i--)
ll ksm(ll a, ll b, ll p)
{
    ll res = 1;
    while(b)
    {
        if(b & 1)res = res * a % p;
        a = a * a % p;
        b >>= 1;
    }
    return res;
}
const int inf = 0x3f3f3f3f;
#define PI acos(-1)
const double eps = 1e-8;
const int maxn =110;
double dp[110][110],a[110];
bool cmp(double a,double b){
  return a>b;
}
int main(){
  int n=read;
  rep(i,1,n){
    int x=read;
    a[i]=x*0.01;
  }
  sort(a+1,a+1+n,cmp);
  double res=0;
  dp[0][0]=1;
  for(int i=1;i<=n;i++){
    dp[i][0]=dp[i-1][0]*(1-a[i]);
    for(int j=1;j<=i;j++)
      dp[i][j]=dp[i-1][j-1]*a[i]+dp[i-1][j]*(1-a[i]);
    double tmp=0;
    for(int j=1;j<=i;j++)
      tmp=tmp+dp[i][j]*pow(j,1.0*j/i);
    res=max(res,tmp);
  }
  printf("%.9lf\n",res);
  return 0;
}

I——Slow Leak(floyd)

思路:

n只有500,考虑floyd。

先对全图跑一遍floyd得出任意两点的最短距离。

再将起点终点和加油站跑一遍floyd,这样最后的g [ 1 ] [ n ]就是答案。

注意跑第二遍floyd之前对数组g gg再次进行初始化,若g [ i ] [ j ] > d,g [ i ] [ j ] = i n f

这样说明两个加油站之间的距离大于d dd,是无法到达的。

代码:

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, ll>PLL;
typedef pair<int, int>PII;
typedef pair<double, double>PDD;
#define I_int ll
inline ll read()
{
    ll x = 0, f = 1;
    char ch = getchar();
    while(ch < '0' || ch > '9')
    {
        if(ch == '-')f = -1;
        ch = getchar();
    }
    while(ch >= '0' && ch <= '9')
    {
        x = x * 10 + ch - '0';
        ch = getchar();
    }
    return x * f;
}
#define read read()
#define closeSync ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define multiCase int T;cin>>T;for(int t=1;t<=T;t++)
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i<(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define perr(i,a,b) for(int i=(a);i>(b);i--)
ll ksm(ll a, ll b, ll p)
{
    ll res = 1;
    while(b)
    {
        if(b & 1)res = res * a % p;
        a = a * a % p;
        b >>= 1;
    }
    return res;
}
const ll inf = 1e17;
#define PI acos(-1)
const double eps = 1e-8;
const int maxn =110;
ll g[510][510];
vector<int>v[510];
bool vis[510];
int cnt=0,a[510];
int main(){
  int n=read,m=read,t=read,d=read;
  rep(i,1,t){
    int x=read;
    vis[x]=1;
    a[++cnt]=x;
  }
  memset(g,0x3f,sizeof g);
  for(int i=1;i<=n;i++) g[i][i]=0;
  for(int i=1;i<=m;i++){
    ll u=read,v=read,w=read;
    g[u][v]=g[v][u]=min(g[u][v],w);
  }
  for(int k=1;k<=n;k++)
    for(int i=1;i<=n;i++)
      for(int j=1;j<=n;j++)
        g[i][j]=min(g[i][j],g[i][k]+g[k][j]);
  a[++cnt]=1;a[++cnt]=n;
  for(int i=1;i<=cnt;i++)
    for(int j=1;j<=cnt;j++)
      if(g[a[i]][a[j]]>d) g[a[i]][a[j]]=inf;
  for(int k=1;k<=cnt;k++)
    for(int i=1;i<=cnt;i++)
      for(int j=1;j<=cnt;j++){
        int kk=a[k],ii=a[i],jj=a[j];
        g[ii][jj]=min(g[ii][jj],g[ii][kk]+g[kk][jj]);
        ///if(g[ii][jj]>d) g[ii][jj]=inf;
      }
  if(g[1][n]>=inf) puts("stuck");
  else cout<<g[1][n]<<endl;
  return 0;
}
目录
相关文章
|
1月前
|
人工智能 自然语言处理 监控
GPT-4整治学术不端!人大/浙大团队实测7000篇论文,撤稿预测与人类95%一致
【4月更文挑战第15天】中国人民大学和浙江大学的研究团队利用GPT-4模型预测论文撤稿,研究基于3,505篇撤稿及未撤稿论文的推特数据,发现16%的撤稿论文提及含有预警信号,预测准确度高达92.86%。GPT-4预测一致性达95%,为学术诚信监控提供新途径。但研究受限于主观偏见、撤稿原因区分及推特互动等因素。
53 1
GPT-4整治学术不端!人大/浙大团队实测7000篇论文,撤稿预测与人类95%一致
|
1月前
|
机器学习/深度学习 存储 自然语言处理
清华朱军团队新作!使用4位整数训练Transformer,提速35.1%!
清华朱军团队新作!使用4位整数训练Transformer,提速35.1%!
40 1
|
7月前
|
机器学习/深度学习 算法 数据可视化
“华为杯”第十八届中国研究生数学建模竞赛D题:抗乳腺癌候选药物的优化建模(一等奖)
“华为杯”第十八届中国研究生数学建模竞赛D题:抗乳腺癌候选药物的优化建模(一等奖)
70 0
|
11月前
|
机器学习/深度学习 人工智能 安全
隐语团队研究成果再创佳绩,两篇论文分别被USENIX ATC'23和IJCAI'23接收!
隐语团队研究成果再创佳绩,两篇论文分别被USENIX ATC'23和IJCAI'23接收!
158 0
|
存储 JSON 人工智能
送给大模型的「高考」卷:442人联名论文给大模型提出204个任务,谷歌领衔
送给大模型的「高考」卷:442人联名论文给大模型提出204个任务,谷歌领衔
136 0
送给大模型的「高考」卷:442人联名论文给大模型提出204个任务,谷歌领衔
|
机器学习/深度学习 数据采集 算法
南洋理工发布量化交易大师TradeMaster,涵盖15种强化学习算法
南洋理工发布量化交易大师TradeMaster,涵盖15种强化学习算法
191 0
|
机器学习/深度学习 人工智能 自然语言处理
人人PyTorch,上A100能夺冠:分析完去年200场数据竞赛,我悟了
人人PyTorch,上A100能夺冠:分析完去年200场数据竞赛,我悟了
100 0
|
机器学习/深度学习 数据可视化 数据挖掘
CVPR 2023|哈工大南洋理工提出全球首个「多模态DeepFake检测定位」模型:让AIGC伪造无处可藏
CVPR 2023|哈工大南洋理工提出全球首个「多模态DeepFake检测定位」模型:让AIGC伪造无处可藏
161 0
|
机器学习/深度学习 编解码 监控
大淘宝技术斩获NTIRE 2023视频质量评价比赛冠军(内含夺冠方案)
近日,CVPR NTIRE 2023 Quality Assessment of Video Enhancement Challenge比赛结果公布,来自大淘宝音视频技术团队的同学组成「TB-VQA」队伍,从37支队伍中脱颖而出,拿下该比赛(唯一赛道)冠军。此次夺冠是团队继MSU 2020和2021世界编码器比赛、CVPR NTIRE 2022压缩视频超分与增强比赛夺魁后,再次在音视频核心技术的权威比赛中折桂。
127 0
|
机器学习/深度学习 数据采集 人工智能
AI十级「找茬」选手,非这个书生莫属,节后开源!(1)
AI十级「找茬」选手,非这个书生莫属,节后开源!
116 0