CodeForces - 1359

A - Berland Poker

将尽可能多的joker牌先给一个人,剩下的k-1个人平均分,使得差值最大int t,n,m,k;
int main()
{scanf("%d",&t);while(t--){scanf("%d%d%d",&n,&m,&k);int maxx=min(n/k,m);m-=maxx;if (m%(k-1)==0)W(maxx-m/(k-1));else W(maxx-m/(k-1)-1);}return 0;
}



B - New Theatre Square

如果用2个1*1比用1个1*2更便宜,那么全部用1*1来铺
否则分段计算一下int t,n,m,x,y;
char mapp[maxn][maxn];
int main()
{scanf("%d",&t);while(t--){int num=0,num1=0,num2=0;scanf("%d%d%d%d",&n,&m,&x,&y);rep(i,0,n-1){scanf("%s",mapp[i]);rep(j,0,m-1)if (mapp[i][j]=='.')num++;}if (x<=y/2)W(num*x);else{rep(i,0,n-1){num=0;repp(j,0,m){if (mapp[i][j]=='.')num++;else{num1+=num%2;num2+=num/2;num=0;}}num1+=num%2;num2+=num/2;}W(num1*x+num2*y);}}return 0;
}



C - Mixing Water

高温为hhh,低温为ccc,c≤t≤hc\leq t \leq hc≤t≤h
假设高温进行了aaa次,低温也进行了aaa次
显然最后温度为ah+ac2a=h+c2{ah+ac\over{2a}}={{h+c}\over2 }2aah+ac​=2h+c​,结果与aaa无关,又由于1≤a1\leq a1≤a,如果水温相同,取最少操作次数,偶数的操作次数只需特判操作两次的时候

假设高温进行了aaa次,低温也进行了a−1a-1a−1次
最后温度为ah+(a−1)c2a−1{ah+(a-1)c\over{2a-1}}2a−1ah+(a−1)c​,这显然是一个单调函数

接下来用二分查找了最大的aaa满足0≤ah+(a−1)c2a−1−t0\leq {ah+(a-1)c\over{2a-1}}-t0≤2a−1ah+(a−1)c​−t
为了保证答案的正确性,在这个aaa的附近100范围内都求一下
(讲道理这里貌似不用二分,我傻了不管了)

const double eps=1e-10;
double Abs(double x,double t)
{if (t-x>=eps)return t-x;else return x-t;
}
int T,p;
double ans,h,c,t;
int main()
{scanf("%d",&T);while(T--){scanf("%lf%lf%lf",&h,&c,&t);double ans=Abs((c+h)/2,t),p=2;if (h+c>2*t+eps)W(int(p));else{double l=1,r=1000000;while(r-l>eps){double mid=(l+r)/2;if ((h-c)/(4*mid-2)>=t-(h+c)/2)l=mid;else r=mid;}for (double i=max(int(l)-100,1);i<=int(l)+100;i+=1.0){double x=Abs(((h+c)*i-c)/(2*i-1),t);if (x<ans){ans=x;p=2*i-1;}}W(int(p));}}return 0;
}



D - Yet Another Yet Another Task

dp[i][j]表示从左到右遍历到第i个位置
且之前的连续区间最大值为j时的最大(区间和-区间最大值)初始值设为负无穷,每一个dp[i][a[i]+30]都设为0(由于范围是-30~30,所以加了个30)递推蛮简单 可以手推几个就能写出来
如果下一个a[i]比j大,如果要取该数字a[i],那么就相当于要修改最大值为a[i]最后答案要在所有的dp状态中取,因为不一定是取到最后一个值的int dp[maxn][61],n,a[maxn],maxx=-INF;
int main()
{scanf("%d",&n);rep(i,1,n)rep(j,0,60)dp[i][j]=-INF;rep(i,1,n){scanf("%d",&a[i]);dp[i][a[i]+30]=0;}rep(i,1,n-1){rep(j,-30,30){if (dp[i][j+30]==-INF)continue;if (a[i+1]>=j)dp[i+1][a[i+1]+30]=max(dp[i+1][a[i+1]+30],dp[i][j+30]+j);else dp[i+1][j+30]=max(dp[i+1][j+30],dp[i][j+30]+a[i+1]);}}rep(i,1,n)rep(j,0,60)maxx=max(maxx,dp[i][j]);W(maxx);return 0;
}

CodeForces - 1359相关推荐

  1. Codeforces 1359 C. Mixing Water (二分 /数学)

    链接 C. Mixing Water 题意 : 给一个容器,往里面不断地倒 热水 冷水 交替进行,问最少倒多少杯水后容器内的平均温度最接近于 T. 思路: 首先很容易观察到,如果倒进去的水是偶数杯,那 ...

  2. [codeforces 1359A] Berland Poker 抽屉原理

    Educational Codeforces Round 88 (Rated for Div. 2)  参赛人数19992 [codeforces 1359A]    Berland Poker   ...

  3. Educational Codeforces Round 88 (Rated for Div. 2)C. Mixing Water(数学+二分法)---题解

    C. Mixing Water 来源:http://codeforces.com/contest/1359/problem/C There are two infinite sources of wa ...

  4. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  5. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  6. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  7. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  8. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  9. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

最新文章

  1. 【网络流24题】解题报告:C、最小路径覆盖问题(有向无环图最小路径覆盖)(最大流)
  2. kafka数据丢失的场景
  3. java中extends ,implements的顺序问题
  4. Zabbix的web界面基本操作
  5. SAP Spartacus 如何连接到其他系统
  6. 牛人,多看看他们写的东西
  7. 前端开发攻城狮必须知道的开发环境和插件
  8. AutoCode For XML(XML解析代码生成器)发布
  9. 谈谈我的session跨域处理方法
  10. 2017黑色主题 server sql_王智好美,一袭黑色亮片吊带长裙,造型简约大气,时尚优雅...
  11. @程序员 腾讯云计算机视觉应用干货,不容错过!
  12. 给CentOS添加第三方源(RPMForge源)
  13. 逻辑回归与梯度下降法
  14. Java-经典排序算法(二)——快速排序
  15. Android高级UI系列教程(一)
  16. 差分放大电路的构成(零点漂移、差分放大电路是怎么构成的、共模信号、差模信号)
  17. vue 解决跨域问题(开发环境)
  18. 计算机绘图员技师证怎么考,地图制图员》与 《摄影测量员》中级高级工程测量职业标准-如何考-考什么内容...
  19. php正则表达式在线测试工具,在线测试正则表达式工具:适合asp.net vb.net cs.net等Web或者Windows程序,便于你快速编写正确正则表达式,提供正则表达式模板供参考。...
  20. 操作系统--磁盘存储器篇

热门文章

  1. 谷歌插件——Vimium
  2. 微信公众平台网页服务器,微信公众号——网页端
  3. db2 日期英式写法_英文日期写法 英文日期格式正确写法
  4. html hide特效,jQuery / 动画与特效中的显示show和隐藏hide - 汇智网
  5. 使用dubbo遇到了Unsatisfied dependency expressed through field ‘userService‘
  6. Linux内核有加网速功能吗,Linux下使用有线网络和WiFi能不能叠加网速?网友评论不一...
  7. iOS中分类(category)和类扩展(Extension)的区别
  8. VirtualBox安装Extention Pack教程
  9. 手机怎么压缩图片?分享一下压缩的好方法
  10. 虾神的csdn技术博客