前言

Rank1Rank1Rank1耶


成绩

RankRankRank是有算别人的

RankRankRank PersonPersonPerson ScoreScoreScore AAA BBB CCC
111 2017myself2017myself2017myself 280280280 100100100 808080 100100100
333 2017xjq2017xjq2017xjq 200200200 100100100 000 100100100
121212 2017hjq2017hjq2017hjq 150150150 100100100 000 505050
303030 2017zyc2017zyc2017zyc 100100100 100100100 000 000
303030 2017xxy2017xxy2017xxy 100100100 100100100 000 000
303030 2017lrz2017lrz2017lrz 100100100 100100100 000 000
303030 2017hzb2017hzb2017hzb 100100100 100100100 000 000
303030 2017lw2017lw2017lw 100100100 100100100 000 000

正题


T1:jzoj4244−yiT1:jzoj4244-yiT1:jzoj4244−yi【贪心】

博客链接:
https://blog.csdn.net/Mr_wuyongcong/article/details/86689041


T2:jzoj4245−erT2:jzoj4245-erT2:jzoj4245−er【dp,dp,dp,贪心】

博客链接:
https://blog.csdn.net/Mr_wuyongcong/article/details/86689149


T3:jzoj4246−sanT3:jzoj4246-sanT3:jzoj4246−san【最短路,SPFA,DAGdp,SPFA,DAGdp,SPFA,DAGdp】

博客链接:
https://blog.csdn.net/Mr_wuyongcong/article/details/86689203


someofcodesome\ of\ codesome of code


T2 80分code

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
const int N=110;
int n,m,k,add[N],sum[N],cnt1,cnt2,mul[N];
int fff,f[N][N*2000],maxs[N],a1,a2;
double ans,summ[N];
bool cmp(int x,int y)
{return x>y;}
int main()
{scanf("%d%d%d",&n,&m,&k);scanf("%d",&a1);if(n==2) scanf("%d",&a2);for(int i=1;i<=m;i++){int x,t;scanf("%d%d",&t,&x);if(t==1) fff=x;if(t==2) add[++cnt1]=x;if(t==3) mul[++cnt2]=x;}sort(add+1,add+1+cnt1,cmp);sort(mul+1,mul+1+cnt2,cmp);sum[0]=a1+a2;for(int i=1;i<=max(cnt1,cnt2);i++){summ[i]=summ[i-1]+log(mul[i]);sum[i]=sum[i-1]+add[i];}memset(f,0xcf,sizeof(f));f[0][a1]=a1*a2;for(int i=0;i<=cnt1;i++){for(int j=a1;j<=sum[i];j++){f[i+1][j]=max(f[i][j]+add[i+1]*j,f[i+1][j]);f[i+1][j+add[i+1]]=max(f[i][j]+add[i+1]*(sum[i]-j),f[i+1][j+add[i+1]]);maxs[i]=max(maxs[i],f[i][j]);}}for(int u=0;u<=k;u++){int mu=k-u;ans=max(ans,log(maxs[u])+summ[mu]);}if(fff){k--;sum[0]=fff+a2;for(int i=1;i<=cnt1;i++)sum[i]=sum[i-1]+add[i];memset(f,0xcf,sizeof(f));memset(maxs,0,sizeof(maxs));f[0][fff]=fff*a2;for(int i=0;i<=cnt1;i++){for(int j=fff;j<=sum[i];j++){f[i+1][j]=max(f[i][j]+add[i+1]*j,f[i+1][j]);f[i+1][j+add[i+1]]=max(f[i][j]+add[i+1]*(sum[i]-j),f[i+1][j+add[i+1]]);maxs[i]=max(maxs[i],f[i][j]);}}for(int u=0;u<=k;u++){int mu=k-u;ans=max(ans,log(maxs[u])+summ[mu]);}sum[0]=a1+fff;for(int i=1;i<=cnt1;i++)sum[i]=sum[i-1]+add[i];memset(f,0xcf,sizeof(f));memset(maxs,0,sizeof(maxs));f[0][a1]=a1*fff;for(int i=0;i<=cnt1;i++){for(int j=a1;j<=sum[i];j++){f[i+1][j]=max(f[i][j]+add[i+1]*j,f[i+1][j]);f[i+1][j+add[i+1]]=max(f[i][j]+add[i+1]*(sum[i]-j),f[i+1][j+add[i+1]]);maxs[i]=max(maxs[i],f[i][j]);}}for(int u=0;u<=k;u++){int mu=k-u;ans=max(ans,log(maxs[u])+summ[mu]);}}printf("%.3lf",ans);
}

T2 60分code

#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=110;
int n,m,k,a1,t,x,add[N],mul[N],cnt1,cnt2,f,a2;
double ans,sum[N];
bool cmp(int x,int y)
{return x>y;}
void check_nf(int A1,int A2)
{for(int u=0;u<=min(k,cnt1);u++){int a1=A1,a2=A2;for(int i=1;i<=u;i++)if(n==1||a1<a2) a1+=add[i];else a2+=add[i];//printf("%d %d\n",a1,a2);ans=max(ans,log(a1)+log(a2)+sum[min(k-u,cnt2)]);}
}
void check_f(int A1,int A2)
{k--;if(A1<A2) A1=f;else A2=f;for(int u=0;u<=min(k,cnt1);u++){int a1=A1,a2=A2;for(int i=1;i<=u;i++)if(n==1||a1<a2) a1+=add[i];else a2+=add[i];ans=max(ans,log(a1)+log(a2)+sum[min(k-u,cnt2)]);}
}
int main()
{//freopen("data.in","r",stdin);//freopen("data.ans","w",stdout);scanf("%d%d%d",&n,&m,&k);scanf("%d",&a1);if(n==2) scanf("%d",&a2);for(int i=1;i<=m;i++){int t,x;scanf("%d%d",&t,&x);if(t==1) f=x;else if(t==2)add[++cnt1]=x;else if(t==3)mul[++cnt2]=x;}sort(add+1,add+1+cnt1,cmp);sort(mul+1,mul+1+cnt2,cmp);for(int i=1;i<=cnt2;i++)sum[i]=sum[i-1]+log(mul[i]);check_nf(a1,a2);if(f) check_f(a1,a2);printf("%0.3lf",ans);}

总结

T1看完题之前以为是之前做过的一道恶心的dp,结果发现是水题,切掉。然后看T2,开始不会自然对数,结果发现就是log,然后写了个贪心先。之后看T3,先写了一个多源最短路,然后发现之后不会,之后仔细看一下题目,发现其实只有最短路上的边有用,这样就是有向无环图了,切掉。
之后T2怕贪心是错的,写个dp,调了半天。只有80。考完后发现是没有特判n=1的情况。

看题预估分(100+20+30=150)(100+20+30=150)(100+20+30=150)

做题预估分(100+50+50=200)(100+50+50=200)(100+50+50=200)

实际分数(100+80+100=280)(100+80+100=280)(100+80+100=280)

Rank1?Rank1?Rank1?还可以耶


尾声

没有尾声

欢乐纪中某B组赛【2019.1.29】相关推荐

  1. 欢乐纪中某B组赛【2019.1.18】

    前言 新年新气象,我们又一度迎来新一年的模拟赛(谁想迎来) 总之,有来到了熟悉的地方--纪中. 成绩 RankRankRank是有算别人的 RankRankRank PersonPersonPerso ...

  2. 欢乐纪中某A组赛【2019.7.12】

    前言 暴力写挂垫底了呀\huge \color{red}\texttt{暴力写挂}\small\color{white}\\\texttt{垫底了呀}暴力写挂垫底了呀 %%%ZZYrank1\text ...

  3. 欢乐纪中某A组赛【2019.7.11】

    前言 话说今天好像放做题导致BBB组贼难AAA组还好. 成绩 JJJ表示初中,HHH表示高中后面加的是几年级 RankRankRank PersonPersonPerson ScoreScoreSco ...

  4. 欢乐纪中某A组赛【2019.7.9】

    前言 我好菜我好菜我好菜我好菜我好菜 我好菜我好菜我好菜我好菜我好菜 我好菜我好菜我好菜我好菜我好菜 我好菜我好菜我好菜我好菜我好菜 我好菜我好菜我好菜我好菜我好菜 我好菜我好菜我好菜我好菜我好菜 心 ...

  5. 欢乐纪中某A组赛【2019.7.5】

    前言 被花式暴虐,T1T1T1签到后两题神仙 成绩 JJJ表示初中,HHH表示高中后面加的是几年级 RankRankRank PersonPersonPerson ScoreScoreScore AA ...

  6. 欢乐纪中某B组赛【2019.1.25】

    前言 还算OKOKOK 成绩 RankRankRank是有算别人的 RankRankRank PersonPersonPerson ScoreScoreScore AAA BBB CCC 444 20 ...

  7. 欢乐纪中某B组赛【2019.1.20】

    前言 有回来做BBB组了,话说第3道题就是AAA组第一道. 成绩 RankRankRank是有算别人的 今天XJQXJQXJQ不在 RankRankRank PersonPersonPerson Sc ...

  8. 欢乐纪中某A组赛【2019.1.19】

    前言 因为BBB有一堆(两道)题都做过,于是就来做A组了. 成绩 RankRankRank是有算别人的 RankRankRank PersonPersonPerson ScoreScoreScore ...

  9. 欢乐纪中某A组赛【2019.7.10】

    前言 好烦我最后写对了T1T1T1的808080分结果交错题导致T2T2T2的404040分没了T1T1T1也没拿多那些分. 话说好像ZDYZDYZDY比我还惨 成绩 这里还是按OJOJOJ上的分数排 ...

  10. 欢乐纪中某A组赛【2019.7.8】

    前言 你以为我是jzojjzojjzoj,其实我是GMojGMojGMoj哒 成绩 JJJ表示初中,HHH表示高中后面加的是几年级 上至222分XJQXJQXJQ,下至200ZZY200ZZY200Z ...

最新文章

  1. 生态统计学里的数据转化与标准化
  2. mysql5.6.37 主从同步_MySQL5.6 Replication主从复制(读写分离) 配置完整版
  3. Go的strconv二
  4. iPhone模拟器中程序的删除
  5. Qt之QLineEdit详解(附源码)
  6. 作者:张彦霞(1974-),女,博士,中国科学院国家天文台研究员、硕士生导师...
  7. 用实力给自己正名,YOLOv5:道路损伤检测我最强!GRDDC'2020大赛报告
  8. 【题解】【合并序列(水题)P1628】
  9. how to remove untagged / none images
  10. HTML静态网页作业——仿天猫购物商城(7页) 网页设计作业,网页制作作业, 学生网页作业, 网页作业成品, 网页作业模板
  11. pano2vr 制作交互热点模板时常显示文字
  12. 在Mac下如何制作win7/win10启动盘
  13. 敌兵布阵 HDU - 1166(树状数组-模板线段树写法)
  14. Windows任务栏图标变白解决方案
  15. DNS,FTP,HTTP,DHCP,TFTP,SMTP详解
  16. 了解阿克曼转向原理的作用
  17. SAP HANA SQL系列四:数字函数
  18. 熊掌号 php提交,网站接入熊掌号,网页配置并提交
  19. DecimalFormat 中0和#的作用
  20. 前嗅ForeSpider教程:IP代理设置

热门文章

  1. 超详细图解!【MySQL进阶篇】MySQL架构原理
  2. linux应用与管理,Linux操作系统应用与管理
  3. java file rename 失败_java重命名文件造成文件不可读写
  4. excel怎么在柱状图上加超链_如何让你的年终总结更符合领导心意,高薪员工必备的excel技能...
  5. vue实现侧边折叠菜单栏手风琴效果
  6. [Java基础]字节流读数据
  7. C++ struct结构体 实现搜索二叉树(BST)
  8. 第七届蓝桥杯(国赛)——随意组合-dfs,next_permutation
  9. 计算机组成原理期末复习往年卷子
  10. linux tcp 创建,Linux下tcp服务器创建的步骤