其他分享
首页 > 其他分享> > 20210524 考试总结.

20210524 考试总结.

作者:互联网

话不多说,直接上题..

T1 景区路线规划

考时操作

想都没想..这显然是一道概率啊~~~

心里想的:这道题我决定使用记忆化搜索..

手上码的:算了不管了..不好想..直接爆搜一个水点儿分过去了..

最终水了 55 分..

考后反思

显然这是一道概率与期望..

对于这道期望题,我更愿意称之为一道概率 。

 

目前以我的认知来评判:

对于曾经做过的  ’Red is good‘   ’奖励关‘ 等.题.

ta们所要让我们求的都是最后的最优期望,

即前期作出的判断会对后期产生影响..

因此这些题目我们都会选择逆推;

 

对于一些概率题目,我们会选择正推..

比如 ’绿青蛙的归宿’ ‘聪聪与可可’ 等题目..

这些题目我们会选择正推,求解概率..

此时我们可以选择使用 dp进行循环求解 或 dfs记忆化/减枝操作..

 

再次回到这道题..

我们发现这道题虽然是一道让我们求解期望的题目..

但事实上我们所求的期望即为:每个最终结果 * 相应的概率..

只有唯一解..

所以我们仍然可以选择正推

 

  1 #include<bits/stdc++.h>
  2 using namespace std;
  3 #define ll long long int
  4 #define lf double 
  5 #define re register ll
  6 inline void read(ll &ss)
  7 {
  8     ss=0;
  9     ll cit=0;
 10     char ch;
 11     ch=getchar();
 12     while(ch>'9' or ch<'0')
 13     {
 14         if(ch=='-') cit=1;
 15         ch=getchar();
 16     }
 17     while(ch>='0' and ch<='9')
 18     {
 19         ss=(ss<<3)+(ss<<1)+(ch^48);
 20         ch=getchar();
 21     }
 22     if(cit) ss=-ss;
 23 }
 24 ll n;
 25 ll m;
 26 ll less;
 27 ll alls;
 28 ll req[200];
 29 ll h1[200];
 30 ll h2[200];
 31 lf ans1,ans2;
 32 ll xi,yi,ti;
 33 lf g[1000][1000];
 34 ll f[1000];
 35 ll ts;
 36 struct Attractions
 37 {
 38     ll u;
 39     ll v;
 40     ll w;
 41     ll num;
 42     ll next;
 43 }a[5000];
 44 inline void add(ll u,ll v,ll w)
 45 {
 46     a[++ts].u=u;
 47     a[ts].v=v;
 48     a[ts].w=w;
 49     a[ts].num=ts;
 50     a[ts].next=f[u];
 51     f[u]=ts;
 52 }
 53 inline lf max(ll aa,ll bb)
 54 {    
 55     return aa>bb?aa:bb;
 56 }
 57 signed main()
 58 {
 59     read(n);
 60     read(m);
 61     read(alls);
 62     for(re i=1;i<=n;i++)
 63     {
 64         read(req[i]);
 65         read(h1[i]);
 66         read(h2[i]);
 67         g[req[i]][i]=1.0/n;
 68     }
 69     for(re i=1;i<=m;i++)
 70     {
 71         read(xi);
 72         read(yi);
 73         read(ti);
 74         add(xi,yi,ti);
 75         add(yi,xi,ti);
 76     }
 77     ll num;
 78     for(re i=0;i<=alls;i++)
 79     {
 80         for(re j=1;j<=n;j++)
 81         {
 82             num=0;
 83             for(re k=f[j];k;k=a[k].next)
 84             {
 85                 if(i+a[k].w+req[a[k].v]<=alls) num++;
 86             }
 87             for(re k=f[j];k;k=a[k].next)
 88             {
 89                 if(i+a[k].w+req[a[k].v]<=alls)
 90                 {
 91                     g[i+a[k].w+req[a[k].v]][a[k].v]+=g[i][j]/(lf)num;
 92                 }            
 93             }
 94         }
 95     }
 96     for(re i=1;i<=n;i++)
 97     {
 98         for(re j=1;j<=alls;j++)
 99         {
100             ans1+=g[j][i]*h1[i];
101             ans2+=g[j][i]*h2[i];
102         }
103     }
104     printf("%.5lf %.5lf",ans1,ans2);
105     return 0;
106 }
View Code

 

T2 [中山市选2009]树

考试操作

考后反思

这道题可以选择 高斯消元 或 树形动态规划..

个人认为正解应该是 高斯消元 + 深搜 ..

另外还有一道题:Lights G

这是我个人认为更加普遍的高斯消元求解异或方程组..

还应该加上一些随机化操作..

 

标签:总结,ch,..,read,ll,20210524,这道题,高斯消,考试
来源: https://www.cnblogs.com/woxiang/p/14825603.html