最近这两场好无奈啊。。。

今天这场最后30分钟敲1001,压力倍增,虽然思路比较明确,但是代码打起来不怎么容易。

但是还是好在25分钟左右debug结束。提交wa,再提交,依然WA.......最后5分钟,还是没有AC掉。

一开始以为是精度问题,后来才sb的发现原来数组开小了。

在压力环境下保证代码的效率和质量真不是一件容易的事情。不过数组开小了,真是不可原谅。

1001:Map

题目相当于几条链表。把链表排成几行。

然后枚举每一列的状态会被操作多少次。

然后把和累加起来,然后直接除以状态总数。

#include <iostream>
#include<stdio.h>
#include<vector>
#include<queue>
#include<stack>
#include<string.h>
#include<algorithm>
#include <map>
using namespace std;
#define LL long long
#define lcm(a,b) (a*b/gcd(a,b))
int su[1010][1100];
int a[10100];
int have[1010];
int pre[10100];
int next[11000];
vector<int>vec;
int maxlen;
int pan(int p,int t)
{int n=vec.size();for(int i=0;i<n;i++){if(t&(1<<i)){if(su[i][p]==0)return 0;}}return 1;
}
double use(int p,int t)
{int n=vec.size();int s,x,y;x=have[p];y=0;s=0;for(int i=0;i<n;i++){if(t&(1<<i)){y++;s+=a[su[i][p]];}}if(y>1){return 1.0*y*s/x+s;}else return s;
}
void dos()
{int n=vec.size();int t=1<<n;t--;double ans=0;double pp=1.0;for(int i=0;i<n;i++){pp*=1.0*(su[i][0]+1);}pp--;for(int i=1;i<=maxlen;i++){for(int j=1;j<=t;j++){if(pan(i,j)==0)continue;double sum=use(i,j);double ch=1.0;for(int k=0;k<n;k++){if(j&(1<<k)){ch*=1.0*(su[k][0]-i+1);}else{ch*=1.0*min((su[k][0]+1),i);}}ans+=sum*ch;}}printf("%.3f\n",ans/pp);
}
int main()
{int T,n,m;scanf("%d",&T);while(T--){memset(have,0,sizeof(have));memset(pre,0,sizeof(pre));memset(next,-1,sizeof(next));scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%d",&a[i]);}int u,v;while(m--){scanf("%d%d",&u,&v);u++;v++;pre[v]=u;next[u]=v;}vec.clear();for(int i=1;i<=n;i++){if(pre[i]==0)vec.push_back(i);}memset(su,0,sizeof(su));maxlen=0;for(int i=0;i<vec.size();i++){int k=1;for(int j=vec[i];j!=-1;j=next[j]){su[i][k]=j;have[k]++;k++;}su[i][0]=k-1;maxlen=max(maxlen,k-1);}dos();}return 0;
}

1003:Room and Moor

从前往后扫,如果不满足不下降,就把后面的合并到前面去,如果还不满足,继续合并。

最后算出结果即可。

#include <iostream>
#include<stdio.h>
#include<vector>
#include<queue>
#include<stack>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
#define eps 1e-9
#define zero(x) (fabs(x)<eps?0:x)
#define maxn 110000
struct list
{int x;int y;double f;int pre;
}p[maxn];
int a[maxn];
double su(int x,int y)
{return (1.0*x)/(1.0*x+1.0*y);
}
void dos(int n)
{p[0].f=0.0;p[0].pre=-1;p[0].x=0;p[0].y=0;for(int i=1;i<=n;i++){p[i].f=su(p[i].x,p[i].y);//   cout<<i<<" "<<p[i].x<<" "<<p[i].y<<" "<<p[i].f<<endl;if(zero(p[i].f-p[i-1].f)>=0){p[i].pre=i-1;continue;}for(int j=i-1;j!=-1;j=p[j].pre){p[i].x+=p[j].x;p[i].y+=p[j].y;p[i].pre=p[j].pre;p[i].f=su(p[i].x,p[i].y);if(zero(p[i].f-p[p[i].pre].f)>=0)break;}}double sum=0.0;for(int i=n;i!=-1;i=p[i].pre){double ps=0;double f=p[i].f;ps+=f*f*1.0*p[i].y;f=1.0-f;ps+=f*f*1.0*p[i].x;sum+=ps;}printf("%.6f\n",sum);
}
int main()
{int T,n;scanf("%d",&T);while(T--){scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);}int ls=0;int leap=1;for(int i=1;i<=n;i++){if(ls==0){if(a[i]==0)continue;else{ls++;p[ls].x=1;p[ls].y=0;continue;}}if(leap==a[i]){if(leap==0)p[ls].y++;else p[ls].x++;}else{leap=leap^1;if(leap==1){ls++;p[ls].x=0;p[ls].y=0;}i--;}//  cout<<ls<<" "<<p[ls].x<<" "<<p[ls].y<<endl;}if(p[ls].y==0)ls--;//   cout<<"__"<<ls<<endl;if(ls==0){printf("%.6f\n",1.0*ls);continue;}dos(ls);}return 0;
}

1005:Apple Tree

很明显可以发现,我们交叉放苹果和肥料是最优的,一共两种放法。

直接模拟一下就好。

1007:Series 1

脱脱的最后的系数是一个杨辉三角。然后+,-交替。

不过是大数sad,要用到java。。。

悲伤

import java.util.Scanner;
import java.math.*;public class Main {public static void main(String[] args) {Scanner cin = new Scanner(System.in);BigInteger[] bit = new BigInteger[3300];BigInteger ans,temp,sn;int i,cas,n,j,k;cas = cin.nextInt();for(i = 1;i <= cas;i ++){ans = BigInteger.ZERO;temp = BigInteger.ONE;n = cin.nextInt();sn = BigInteger.valueOf(n-1);for(j = 1;j <= n;j ++)bit[j] = cin.nextBigInteger();for(j = 0;j < n;j ++){if(j%2 == 0)ans = ans.add(temp.multiply(bit[n-j]));else ans = ans.subtract(temp.multiply(bit[n-j]));temp = temp.multiply(sn).divide(BigInteger.valueOf(j+1));sn = sn.subtract(BigInteger.ONE);}System.out.println(ans);}}
}

1010:Fighting the Landlords

这个题目就不吐槽了。。。

很明显一开始看错题了。。。

就是一个水的模拟题,不用理会。。。。

2014多校联合-第六场相关推荐

  1. 2014多校联合-第八场

    1001:2048 很明显,一开始看错题了...sad 这题目我感觉挺卡时间的... dp[i][j]:在选择2^i的时候,选择的和为j*2^i到(j+1)*2^i-1时候的情况. #include ...

  2. 2014多校联合-第七场

    1005: ( Stupid Tower Defense ) 由题意我们很明显可以知道,红色的塔放在最后面是最优的. 假如前i个塔,放j个绿塔,i-j个蓝塔.那么无论前i个塔的顺序怎么放,对后面的塔造 ...

  3. 2022湖南多校对抗赛第六场

    2022湖南多校对抗赛第六场 队伍排名 第一 第二 第三 湖南大学1队 湖南大学4队 中南大学2队 团体成绩 取每个学校正式队伍前四名 学校 总题数 湖南大学 16 中南大学 16 国防科技大学 16 ...

  4. HDU 4868 Information Extraction(2014 多校联合第一场 H)

    看到这道题时我的内心是奔溃的,没有了解过HTML,只能靠窝的渣渣英语一点一点翻译啊TT. Information Extraction 题意:(纯手工翻译,有些用词可能在html中不是一样的,还多包涵 ...

  5. HDU 4893 Wow! Such Sequence!(2014年多校联合 第三场 G)(线段树)

    磨了一天的线段树,不能说完全搞清楚,只能说有一个大概的了解,靠着模板才把这道题A了,只能说太弱~~! 题意: 初始时有一字符串,全为0. 三种操作: 1 k d - add  把d加到第k个数上去 2 ...

  6. 2019杭电暑假多校训练 第六场 Snowy Smile HDU - 6638

    很多题解都是简单带过,所以打算自己写一篇,顺便也加深自己理解 前置知识:线段树.线段树维护最大字段和.二维坐标离散化 题解: 1.很容易想到我们需要枚举所有子矩阵来得到一个最大子矩阵,所以我们的任务是 ...

  7. hdu 4937 Lucky Number(数学题 进制转换)2014多校训练第7场

    Lucky Number                                                                          Time Limit: 20 ...

  8. HDU 5762 Teacher Bo (鸽笼原理) 2016杭电多校联合第三场

    题目:传送门. 题意:平面上有n个点,问是否存在四个点 (A,B,C,D)(A<B,C<D,A≠CorB≠D)使得AB的横纵坐标差的绝对值的和等于CD的横纵坐标差的绝对值的和,n<1 ...

  9. 【河南省多校脸萌第六场 E】LLM找对象

    [链接]点击打开链接 [题意] 在这里写题意 [题解] 把n个时间离散化一下. 对于不是相邻的点,在两者之间再加一个空格就好. 这样最多会有1000个位置. 则定义dp[i][k][j] 表示前i个数 ...

最新文章

  1. (DBA之路【五】)关于锁的故事
  2. EdoGantt甘特图中间件的事件对象
  3. java设计模式---备忘录模式
  4. mysql collation utf8_mysql数据库 表字段 的collation utf8_unicode_ci
  5. 易创课堂成都站给你寄来一包干货,请注意查收
  6. OllyDebug调试技巧(三)
  7. 再谈网游同步技术:实时动作游戏同步方式和传输协议选择
  8. Dubbo入门之hello world(zookeeper做注册中心)
  9. 用java完成一个模块_Java 9 揭秘(3. 创建你的第一个模块)
  10. 如何编写正确且高效的 OpenResty 应用
  11. 基于高德地图实现热力地图和标记点显示文字
  12. 爬取京东某商品评论并存入csv
  13. 关于传奇自动触发的几个常用脚本OnKillMob、StdModeFunc、等触发事件
  14. HTML CSS JS 特殊字符编码表
  15. 区块链知识系列 - App 与 DApp 的区别
  16. mybatis plus环境搭建及代码生成器
  17. 巡检路线排班问题matlab,对巡检线路的排班数学模型分析.doc
  18. 21考研,什么时候开始准备,越早越好吗?
  19. modbus通讯失败_STM32 MODBUS通讯失败
  20. 鸿蒙系统1007鸿蒙系统,1007 燃爆 | 华为“鸿蒙”真的来了!看完这些商标来历,网友们又激动了...

热门文章

  1. RNGUZI疑是玩电竞竞猜的APPO(∩_∩)O哈哈~APP?QQ是什么让他输?qun是放水吗?还是身体不适91435456?
  2. Django7-2.模板系统常用知识点(2)
  3. 室内设计计算机学什么软件,学习室内设计需要会用到哪些软件呢?
  4. 2020全国大学生数学建模竞赛赛题
  5. ai自动配音_自媒体免费配音神器,一键生成100条AI配音
  6. javascript匿名函数的各种执行形式
  7. 64只马,8个赛道,选出最快4只马
  8. qq群引流靠谱吗?为什么选择QQ引流?QQ引流好吗?
  9. fastadmin 使用switch 点击修改无反应 提示“未更新任何行”
  10. 普度网络营销策划_普度网络营销策划:中小企业线上营销沙龙成功举办