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;
}
目录
相关文章
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
大模型最强架构TTT问世!斯坦福UCSD等5年磨一剑, 一夜推翻Transformer
【7月更文挑战第21天】历经五年研发,斯坦福、UCSD等顶尖学府联合推出TTT架构,革新NLP领域。此架构以线性复杂度处理长序列,增强表达力及泛化能力,自监督学习下,测试阶段动态调整隐藏状态,显著提升效率与准确性。实验显示,TTT在语言模型与长序列任务中超越Transformer,论文详述于此:[https://arxiv.org/abs/2407.04620](https://arxiv.org/abs/2407.04620)。尽管如此,TTT仍需克服内存与计算效率挑战。
160 2
|
1天前
|
人工智能 计算机视觉 网络架构
OpenAI攻克扩散模型短板,清华校友路橙、宋飏合作最新论文
扩散模型在生成AI领域取得显著成果,但其训练不稳定性和采样速度慢限制了发展。OpenAI与清华校友合作,提出连续时间一致性模型(CMs),通过TrigFlow等创新解决了这些问题,大幅提升了训练稳定性和计算效率,实现了与最优模型相当的样本质量,同时减少了计算资源消耗。
8 2
|
2月前
数十年来首次取得进展,陶哲轩高徒、赵宇飞高徒突破组合数学难题
【9月更文挑战第9天】数十年来,组合数学领域面临诸多未解难题,而近期由陶哲轩与赵宇飞弟子领导的研究团队在Szemerédi定理改进方面取得了突破性进展。这一成果尤其针对k≥5的情况,不仅推进了理论认知,更为解决更高阶的Szemerédi定理提供了新思路。尽管仍有待完善之处,但该研究为组合数学带来了新的希望与方法。论文已发布于[此处](https://arxiv.org/pdf/2402.17995)。
38 5
|
6月前
|
人工智能 自然语言处理 监控
GPT-4整治学术不端!人大/浙大团队实测7000篇论文,撤稿预测与人类95%一致
【4月更文挑战第15天】中国人民大学和浙江大学的研究团队利用GPT-4模型预测论文撤稿,研究基于3,505篇撤稿及未撤稿论文的推特数据,发现16%的撤稿论文提及含有预警信号,预测准确度高达92.86%。GPT-4预测一致性达95%,为学术诚信监控提供新途径。但研究受限于主观偏见、撤稿原因区分及推特互动等因素。
97 1
GPT-4整治学术不端!人大/浙大团队实测7000篇论文,撤稿预测与人类95%一致
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
前谷歌科学家离职后创业一年,发文自述算力是训练大模型的难点
【2月更文挑战第20天】前谷歌科学家离职后创业一年,发文自述算力是训练大模型的难点
45 2
前谷歌科学家离职后创业一年,发文自述算力是训练大模型的难点
|
机器学习/深度学习 人工智能 自然语言处理
ICML2023杰出论文大幅减少至6篇,北大、武理工校友获奖,大模型水印受青睐
ICML2023杰出论文大幅减少至6篇,北大、武理工校友获奖,大模型水印受青睐
100 0
ICML2023杰出论文大幅减少至6篇,北大、武理工校友获奖,大模型水印受青睐
|
机器学习/深度学习 边缘计算 人工智能
液冷技术再下一城 阿里云三篇论文入选DesignCon 2022
阿里云三篇液冷技术论文入选DesignCon 2022~
液冷技术再下一城 阿里云三篇论文入选DesignCon 2022
|
存储 JSON 人工智能
送给大模型的「高考」卷:442人联名论文给大模型提出204个任务,谷歌领衔
送给大模型的「高考」卷:442人联名论文给大模型提出204个任务,谷歌领衔
168 0
送给大模型的「高考」卷:442人联名论文给大模型提出204个任务,谷歌领衔
|
传感器 算法 安全
区块链研究论文集【三十】
区块链作为一种崭新的、颠覆性的技术,是国内外活跃的研究领域和毕业设计选题方向。本文列出最新的一组区块链方面的论文,希望可以对选择区块链毕业设计的同学们有所帮助,这是[汇智网](http://www.hubwiz.com)编辑整理的区块链毕业设计论文系列中的第30篇。
1897 0
区块链研究论文集【三十】
2021年度训练联盟热身训练赛第一场——Weird Flecks, But OK(最小圆覆盖)
2021年度训练联盟热身训练赛第一场——Weird Flecks, But OK(最小圆覆盖)
96 0