A - Dogs and Cages

水。

 #include <bits/stdc++.h>
using namespace std; int t;
double n; int main()
{
scanf("%d", &t);
for (int kase = ; kase <= t; ++kase)
{
scanf("%lf", &n);
printf("Case #%d: %.10f\n", kase, n - );
}
return ;
}

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)$

 #include <bits/stdc++.h>
using namespace std; int t, x, y, k; int main()
{
scanf("%d", &t);
for (int kase = ; kase <= t; ++kase)
{
printf("Case #%d: ", kase);
scanf("%d%d%d", &x, &y, &k);
if (x > y) printf("%d\n", k);
else
{
int t = (int)ceil(k * ( * y - * x) * 1.0 / ( * y + * x));
printf("%d\n", k - t);
}
}
return ;
}

D - Mr. Panda and Circles

留坑。

E - Evil Forest

水。

 #include <bits/stdc++.h>
using namespace std; #define N 1010 int t, n, sum, num; int main()
{
scanf("%d", &t);
for (int kase = ; kase <= t; ++kase)
{
scanf("%d", &n); sum = ;
for (int i = ; i <= n; ++i)
{
scanf("%d", &num);
sum += num;
sum += (num % ) ? (num / ) + : (num / );
}
printf("Case #%d: %d\n", kase, sum);
}
return ;
}

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 为 那个区间最长能到哪里

 #include<bits/stdc++.h>

 using namespace std;

 #define N 2010

 int dp[N][N];

 struct node{
int l, r;
inline node(){}
inline node(int l, int r) :l(l), r(r){}
inline bool operator < (const node &b) const
{
return l == b.l ? r > b.r : l < b.l;
}
}arr[N]; int n, m, k;
int cnt, val; int main()
{
int t;
scanf("%d",&t);
for(int cas = ; cas <= t; ++cas)
{
scanf("%d %d %d" , &n, &m, &k);
for(int i = ; i <= m; ++i)
{
scanf("%d %d", &arr[i].l, &arr[i].r);
}
sort(arr + , arr + + m);
memset(dp, , sizeof dp);
val = ;
cnt = ;
for(int i = ; i < n; ++i)
{
while(cnt <= m && arr[cnt].l == i + )
{
val = max(val, arr[cnt].r - arr[cnt].l + );
cnt++;
}
for(int j = ; j <= k; ++j)
{
dp[i + ][j] = max(dp[i + ][j], dp[i][j]);
dp[i][j + ] = max(dp[i][j], dp[i][j + ]);
dp[i + val][j + ] = max(dp[i + val][j + ], dp[i][j] + val);
}
if(val) --val;
}
printf("Case #%d: %d\n", cas, dp[n][k]);
}
return ;
}

H - Equidistance

留坑。

I - Inkopolis

留坑。

J - Subway Chasing

留坑。

K - Knightmare

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

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

 #include <bits/stdc++.h>
using namespace std; #define ull unsigned long long int arr[] = {, , , , , , }; int t;
ull n; int main()
{
scanf("%d", &t);
for (int kase = ; kase <= t; ++kase)
{
printf("Case #%d: ", kase);
scanf("%llu", &n);
if (n <= ) printf("%d\n", arr[n]);
else
{
ull sum = ; n -= ;
sum += (ull) * n + (ull) * n * (n + );
printf("%llu\n", sum);
}
}
return ;
}

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. 写了一个简单的CGI Server

    之前看过一些开源程序的源码,也略微知道些Apache的CGI处理程序架构,于是用了一周时间,用C写了一个简单的CGI Server,代码算上头文件,一共1200行左右,难度中等偏上,小伙伴可以仔细看看 ...

  2. HDU 4462Scaring the Birds(枚举所有状态)

    Scaring the Birds Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  3. 【linux系列】vmware12pro安装centos7

    安装参考:http://blog.csdn.net/guin_guo/article/details/49403889 安装完成之后ip还是不成功无法连接网络: 进入/etc/sysconfig/ne ...

  4. Android 动画fillAfter和fillBefore

    fillBefore是指动画结束时画面停留在此动画的第一帧; fillAfter是指动画结束是画面停留在此动画的最后一帧. Java代码设置如下: /*****动画结束时,停留在最后一帧******* ...

  5. Java 去除List列表中的重复项

    /** * Remove list duplicate item * * @param srcList * @return */ private static ArrayList<Resolve ...

  6. scss的安装使用

    Ruby的安装 如果是Window系统,请打开:http://rubyinstaller.org/downloads/ ,下载当前稳定版本的exe文件.界面如下所示: Step(2): 接下来,在系统 ...

  7. 破谣言——iPhone砍价

    微信朋友圈和QQ空间很多朋友在传一个iPhone砍价免费送的活动.好吧,砍页面下面的那邪恶广告,第一感觉就是假的.但我要给出证明,所以就有了下面的代码.[只需把UID换成自己的就行],当你砍到5分钱的 ...

  8. 知道WCF的地址用工厂通道方式快速调用WCF

    知道WCF的地址用工厂通道方式快速调用WCF  1 using System;  2 using System.ServiceModel;  3 using System.ServiceModel.D ...

  9. 310实验室OTL问题(2)

    1.PyOptimization代码学习心得 (1).该部分由三个分块组成(按完成的相应的任务).第一部分,运行函数. 以optimization.py为入口程序,其思路是:首先获取路径,然后,初始化 ...

  10. 【ES6】001---module模块------【巷子】

    001.前言 什么是模块化开发?   为了提高代码的复用度,开发人员会按照功能把大量的js代码分成若干文件,这样在多个页面就可以使用同一个文件了.,下面是某个网站的js引用情况 怎么会有这么多js文件 ...