P1426 小鱼会有危险吗

我个人觉得这个题目出的不好,没说明白,就先只粘贴的AC代码吧

 #include <bits/stdc++.h>
using namespace std; int main() {
double s, x;
cin >> s >> x;
double start = s - x, endd = s + x; //探测器的范围
double speed = 7.0, length = 0.0;
//没有游到探测器范围之前
while(length < start) {
length += speed;
speed *= 0.98;
}
if (length + speed > endd) {
cout << "n" << endl;
}
else {
cout << "y" << endl;
} return ;
}

P1464 Function

对于一个递归函数w(a,b,c)

如果a<=0 or b<=0 or c<=0就返回值1.

如果a>20 or b>20 or c>20就返回w(20,20,20)

如果a<b并且b<c 就返回w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c)

其它别的情况就返回w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1)

这是个简单的递归函数,但实现起来可能会有些问题。当a,b,c均为15时,调用的次数将非常的多。你要想个办法才行.

/*

absi2011 : 比如 w(30,-1,0)既满足条件1又满足条件2

这种时候我们就按最上面的条件来算

所以答案为1

*/

解答:记忆化,直接用个数组存了。

一开始全WA, 我还没想通为啥,后来发现有个条件是【如果a>20 or b>20 or c>20就返回w(20,20,20)】

这个放在一开始的主函数判断里面了,但是如果这个数比20大,就把这个数字=20.

但是假如这个元组是 (25, 3, 2) ------> 正确答案是 (20, 20,20)

如果按照我当时的算法就是 (25,3,2) ------> 就会变成 (20,3,2) 就会去计算这个数。

还有个错误点就是又踩内存了... 访问||更新数组之前一定要判断下标是否能取到。

 #include <bits/stdc++.h>

 using namespace std;

 int w[][][] = {};

 int cal(int a, int b, int c) {
if (a <= || b <= || c <= ) {
return ;
}
if (a > || b > || c > ) {
return cal(, ,);
}
if (w[a][b][c] != -) {
return w[a][b][c];
}
if (a < b && b < c) {
w[a][b][c] = cal(a, b, c-) + cal(a, b-, c-) - cal(a, b-, c);
return w[a][b][c];
}
w[a][b][c] = cal(a-,b,c) + cal(a-,b-,c) + cal(a-,b,c-) - cal(a-,b-,c-);
return w[a][b][c];
} int main() {
memset(w,0xFF,sizeof(w));
long long a, b, c;
cin >> a >> b >> c;
while (a != - || b != - || c != -) {
int a1 = a > ? : a;
int b1 = b > ? : b;
int c1 = c > ? : c;
int ans = cal(a1, b1, c1);
if (a1 >= && b1 >= && c1 >= ) {
w[a1][b1][c1] = ans;
}
printf("w(%lld, %lld, %lld) = %d\n", a, b ,c, ans);
cin >> a >> b >>c;
}
return ;
}

P1014 Cantor表

我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…输出表中的第N项

解答:找规律发现第一行1个数,第二行2个数,第三行3个数...等差数列。注意下细节就好。

 #include <bits/stdc++.h>

 using namespace std;

 int main() {
int n;
cin >> n;
int summ = , lines = ;
while(n > summ) {
++lines;
summ += lines;
}
summ -= lines; int left = n - summ; int fenfu, fenzi;
if (lines % == ) {
fenfu = lines + , fenzi = ;
for (int i = ; i <= left; ++i) {
fenfu--; fenzi++;
}
} else {
fenfu = , fenzi = lines + ;
for (int i = ; i <= left; ++i) {
fenfu++; fenzi--;
}
}
cout << fenzi << "/" <<fenfu << endl;
return ;
}

【Luogu】【关卡1-8】BOSS战-入门综合练习2(2017年10月)【AK】------都是基础题的更多相关文章

  1. 洛谷训练新手村之“BOSS战-入门综合练习2”题解

    P1426 小鱼会有危险吗 题目链接:https://www.luogu.com.cn/problem/P1426 题目大意: 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每 ...

  2. 洛谷训练新手村之“BOSS战-入门综合练习1”题解

    P1478 陶陶摘苹果(升级版) 题目链接:https://www.luogu.com.cn/problem/P1478 题目大意:陶陶有s点体力值,每个苹果消耗体力值,问s体力值最多能摘多少苹果. ...

  3. 洛谷-小鱼会有危险吗-BOSS战-入门综合练习2

    题目描述 Description 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%.有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测 ...

  4. 洛谷-烤鸡-BOSS战-入门综合练习1

    题目背景 Background 猪猪hanke得到了一只鸡  题目描述 Description 猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10 ...

  5. 洛谷-陶陶摘苹果(升级版)-BOSS战-入门综合练习1

    题目描述 Description 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同 ...

  6. 洛谷-哥德巴赫猜想(升级版)-BOSS战-入门综合练习1

    题目背景 Background 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和 ...

  7. 洛谷-三连击(升级版)-BOSS战-入门综合练习1

    题目描述 Description 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成A:B:C的比例,试求出所有满足条件的三个三位数,若无解,输出“No!!!”.  输入输出格 ...

  8. 【Luogu】【关卡2-12】递推与递归二分(2017年10月)

    任务说明:递推,层层递进,由基础推向顶层.二分不仅可以用来查找数据,还可以确定最合适的值. P1192 台阶问题 有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶 ...

  9. 【Luogu】【关卡2-16】线性动态规划(2017年10月)【还差三道题】

    任务说明:这也是基础的动态规划.是在线性结构上面的动态规划,一定要掌握. P1020 导弹拦截 导弹拦截 P1091 合唱队形 老师给同学们排合唱队形.N位同学站成一排,音乐老师要请其中的(N-K)位 ...

随机推荐

  1. tf.keras 解决plot_model 的配置问题

    https://blog.csdn.net/ha010/article/details/103367311

  2. JDBC、ibatis(mybatis)、Hibernate有什么不同?

    ①JDBC编程流程固定,同时将sql语句和java代码混在了一起,经常需要拼凑sql语句,细节很繁琐: ②ibatis(mybatis)它不完全是一个ORM框架,因为MyBatis需要程序员自己编写S ...

  3. Linux常用功能脚本

    设置定时任务 crontab -e 1 0 * * * /bin/find /mnt/tomcat/logs/ -mtime +3 -type f -name "*.log" -e ...

  4. 转载 jQuery实现放大镜特效

    效果图. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  5. Halo(五)

    ApplicationPreparedEvent 监听事件 Event published once the application context has been refreshed but be ...

  6. Hibernate学习 (一)

    Hibernate错误总结: 1:不能自动创建表.把MySQL的版本的方言修改一下. 首先自己要注意自己的MYSQL版本,然后设置对应的方言 兼容性模式 <property name=" ...

  7. linux基础知识-常用命令

    ifconfig :查看当前ip hostname:查看主机名 vim /etc/hosts:修改地址映射 service iptables status : 查看防火墙状态 chkconfig ip ...

  8. 原生js实现拖拽效果

    面向对象 + 原生js拖拽 拖拽div等盒子模型,都是日常操作没有什么问题,如果是拖拽图片的话,会有一点小坑要踩...... 那么我们看代码: var Move_fn = {}; (function( ...

  9. MySQL-8.0填坑

    Client does not support authentication protocol 或 Authentication plugin 'caching_sha2_password' cann ...

  10. webservice 应用

    一直以来,dashboard就会面临一个非常难堪的问题.就是刷新速度太慢了.它要连接query 来获取数据.而query每刷一次都需要时间.这是无可避免的结果.尽管它也是结果集,可还是比较慢.最近实践 ...