A - Dogs and Cages

水。

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int t;
  5. double n;
  6.  
  7. int main()
  8. {
  9. scanf("%d", &t);
  10. for (int kase = ; kase <= t; ++kase)
  11. {
  12. scanf("%lf", &n);
  13. printf("Case #%d: %.10f\n", kase, n - );
  14. }
  15. return ;
  16. }

B - Same Digit

留坑。

C - Rich Game

题意:有两个人,A可以控制输赢,但是没有钱,B有无限的钱,他们打羽毛球,至少要获得11个点并且要比对方至少多获得两个点才能赢下当局,如果A 赢了 一个点,A要给B Y元,否则 B 给A   X 元   求他们一共打K局的情况下,A最多可以赢多少局

思路:显然,当x > y 的时候 可以赢k局

考虑 x <= y  的情况  根据贪心的思路,假设A 要输 t 局

那么 必然要满足 $11yt >= (k - t)(11y - 9x)$

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int t, x, y, k;
  5.  
  6. int main()
  7. {
  8. scanf("%d", &t);
  9. for (int kase = ; kase <= t; ++kase)
  10. {
  11. printf("Case #%d: ", kase);
  12. scanf("%d%d%d", &x, &y, &k);
  13. if (x > y) printf("%d\n", k);
  14. else
  15. {
  16. int t = (int)ceil(k * ( * y - * x) * 1.0 / ( * y + * x));
  17. printf("%d\n", k - t);
  18. }
  19. }
  20. return ;
  21. }

D - Mr. Panda and Circles

留坑。

E - Evil Forest

水。

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define N 1010
  5.  
  6. int t, n, sum, num;
  7.  
  8. int main()
  9. {
  10. scanf("%d", &t);
  11. for (int kase = ; kase <= t; ++kase)
  12. {
  13. scanf("%d", &n); sum = ;
  14. for (int i = ; i <= n; ++i)
  15. {
  16. scanf("%d", &num);
  17. sum += num;
  18. sum += (num % ) ? (num / ) + : (num / );
  19. }
  20. printf("Case #%d: %d\n", kase, sum);
  21. }
  22. return ;
  23. }

F - Fair Lottery

留坑。

G - Alice’s Stamps

题意:给出M个区间,选择K个区间,使得选择的元素尽量多,区间可以交叉

思路:$dp[i][j]$ 表示 第i位,选择k个区间的时候,数量最多是多少

三个状态转移

$dp[i + 1][j] = max(dp[i][j], dp[i + 1][j])$

$dp[i][j +1] = max(dp[i][j], dp[i][j + 1])$

$dp[i + cnt][j + 1] = max(dp[i + cnt][j], dp[i][j] + cnt)$

cnt 为 那个区间最长能到哪里

  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define N 2010
  6.  
  7. int dp[N][N];
  8.  
  9. struct node{
  10. int l, r;
  11. inline node(){}
  12. inline node(int l, int r) :l(l), r(r){}
  13. inline bool operator < (const node &b) const
  14. {
  15. return l == b.l ? r > b.r : l < b.l;
  16. }
  17. }arr[N];
  18.  
  19. int n, m, k;
  20. int cnt, val;
  21.  
  22. int main()
  23. {
  24. int t;
  25. scanf("%d",&t);
  26. for(int cas = ; cas <= t; ++cas)
  27. {
  28. scanf("%d %d %d" , &n, &m, &k);
  29. for(int i = ; i <= m; ++i)
  30. {
  31. scanf("%d %d", &arr[i].l, &arr[i].r);
  32. }
  33. sort(arr + , arr + + m);
  34. memset(dp, , sizeof dp);
  35. val = ;
  36. cnt = ;
  37. for(int i = ; i < n; ++i)
  38. {
  39. while(cnt <= m && arr[cnt].l == i + )
  40. {
  41. val = max(val, arr[cnt].r - arr[cnt].l + );
  42. cnt++;
  43. }
  44. for(int j = ; j <= k; ++j)
  45. {
  46. dp[i + ][j] = max(dp[i + ][j], dp[i][j]);
  47. dp[i][j + ] = max(dp[i][j], dp[i][j + ]);
  48. dp[i + val][j + ] = max(dp[i + val][j + ], dp[i][j] + val);
  49. }
  50. if(val) --val;
  51. }
  52. printf("Case #%d: %d\n", cas, dp[n][k]);
  53. }
  54. return ;
  55. }

H - Equidistance

留坑。

I - Inkopolis

留坑。

J - Subway Chasing

留坑。

K - Knightmare

题意:在无限大的棋盘上,马走日,有多少个点是能够走到的

思路:BFS找规律,二阶差分

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ull unsigned long long
  5.  
  6. int arr[] = {, , , , , , };
  7.  
  8. int t;
  9. ull n;
  10.  
  11. int main()
  12. {
  13. scanf("%d", &t);
  14. for (int kase = ; kase <= t; ++kase)
  15. {
  16. printf("Case #%d: ", kase);
  17. scanf("%llu", &n);
  18. if (n <= ) printf("%d\n", arr[n]);
  19. else
  20. {
  21. ull sum = ; n -= ;
  22. sum += (ull) * n + (ull) * n * (n + );
  23. printf("%llu\n", sum);
  24. }
  25. }
  26. return ;
  27. }

CCPC 2017-2018, Finals Solution的更多相关文章

  1. MyEclips 2017/2018 (mac 版)安装与破解

    MyEclips 2017/2018 (mac 版)安装与破解 现在在学J2EE,然后使用的工具就是 MyEclipse,现在就抛弃 Eclipse 了,我就不多说它俩的区别了,但是 MyEclips ...

  2. MyEclipse 2017/2018 安装与破解 图文教程

    SSM 框架-02-MyEclipse 2017/2018 安装与破解 现在在学J2EE,然后使用的工具就是 MyEclipse,现在就抛弃 Eclipse 了,我就不多说它俩的区别了,但是 MyEc ...

  3. </2017><2018>

    >>> Blog 随笔原始文档及源代码 -> github: https://github.com/StackLike/Python_Note >>> 统计信 ...

  4. CCPC 2016-2017, Finals Solution

    A - The Third Cup is Free 水. #include<bits/stdc++.h> using namespace std; ; int n; int arr[max ...

  5. 我的2017&2018

    最近项目进入验收阶段,所以上班没那么忙碌了,但是怎么说呢,我可能天生是闲不住的主,觉得浑身不自在(我这样的人是不是特别不会享福),此处应该有个笑脸哈. 翻看了博客园好几个大牛写的技术文章,感慨大牛不愧 ...

  6. [2017 - 2018 ACL] 对话系统论文研究点整理

    (论文编号及摘要见 [2017 ACL] 对话系统. [2018 ACL Long] 对话系统. 论文标题[]中最后的数字表示截止2019.1.21 google被引次数) 1. Domain Ada ...

  7. CorelDRAW X7 X8 2017 2018是什么关系?

    从CorelDRAW 2017版本开始我们叫习惯了的X几系列的CorelDRAW毅然决然的就换了称呼,所以有时候很多朋友对于软件版本,经常会傻傻分不清,还有人认为X8版本比2017版本高,究竟为什么会 ...

  8. JetBrains 2017/2018全系列产品激活工具

    可谓是工欲善其事,必先利其器,相信作为优秀开发工程师的你都想拥有一套快捷高效的编码工具,而JetBrains这家公司的产品,不管是那种编程语言,其开发工具确实让开发者们着迷,JetBrains的产品博 ...

  9. 2018-2019 ACM-ICPC, Asia East Continent Finals Solution

    D. Deja vu of … Go Players 签. #include <bits/stdc++.h> using namespace std; int t, n, m; int m ...

随机推荐

  1. PHP代码审计 -1.SQL注入总结

    0x01 背景          最近在学习PHP代码审计,这里做一个SQL注入总结,是对自己学习知识的总结,也是为自己学习的笔记,方便自己反复翻阅. 0x02 PHP代码审计-SQL注入 挖掘SQL ...

  2. 说说新唐ARM9(未完待续)

    针对通用32位微控制器的NUC970系列嵌入了由RISC机器有限公司设计的RISC处理器ARM926EJ-S,运行频率高达300 MHz,具有16 KB的I-cache,16 KB的D-cache和M ...

  3. 怎样安装Linux操作系统

    linux是免费的.其实这里的免费只是说linux的内核免费.在linux内核的基础上而产生了众多linux的版本.Linux的发行版说简单点就是将Linux内核与应用软件做一个打包.较知名的发行版有 ...

  4. Android 使用WebView显示网页

    构建WebView就可以显示Web信息.因为我觉得这里会讲述很多方式来实现WebView,所以我决定为每一种方式创建一个对应的Activity,MainActivity通过Button可以点击进入对应 ...

  5. Android 使用DatePicker以及TimePicker显示当前日期和时间

    课程内容1.介绍DatePicker和TimePicker两种实现动态输入日期和事件的功能2.介绍DatePickerDialog和TimePickerDialog来年耕种实现动态输入日期和事件的对话 ...

  6. Error setting expression 'XXX' with value 设置表达式“XXX”时出错 解决方法

    1.表达式“xxx”在所调用的action里没有与之对应的对象: 2.action里有该对象作为私有成员变量但是没有get&set方法.

  7. android基础---->DiskLruCache的使用及原理

    DiskLruCache是谷歌推荐的用来实现硬盘缓存的类,今天我们开始对于DiskLruCache的学习.DiskLruCache的测试代码:DiskLruCache的测试代码下载.关于FidkLru ...

  8. HTTP/2笔记之开篇

    前言 本系列基于HTTP/2第17个草案文档,地址就是:https://tools.ietf.org/html/draft-ietf-httpbis-http2-17. HTTP/2规范已经通过发布批 ...

  9. ubuntu14.04 LTS 搜狗输入法安装和不能输入中文的解决方法

    搜狗输入法安装 1.首先通过Ubuntu软件中心,需要安装:fcitx https://pinyin.sogou.com/linux/help.php 2.然后再安装搜狗输入法包 https://pi ...

  10. 转悠望南山 Python闲谈(二)聊聊最小二乘法以及leastsq函数

      1 最小二乘法概述 自从开始做毕设以来,发现自己无时无刻不在接触最小二乘法.从求解线性透视图中的消失点,m元n次函数的拟合,包括后来学到的神经网络,其思想归根结底全都是最小二乘法. 1-1 “多线 ...