梦熊3月S组
求和
1、算法思想维度
问题类型:DP
错误原因:没有想到 \(\frac{1}{2^i}\) 是 \(\frac{1}{2}\) 的倍数,这样只用考虑 \(1\) 和 \(\frac{1}{2}\) 即可。
正确思路:设 \(dp_{i,j}\) 表示 \(n=i,k=j\) 时的方案数,对 \(1\) 和 \(\frac{1}{2}\) 转移即可。
2、实现细节维度
边界问题:若 \(2j>n\) 则不能转移,或者开两倍数组也行。
代码框架
cin >> n >> k, f[0][0] = 1;
for (int i = 1; i <= n; i++) {
for (int j = i; j; j--) {
f[i][j] = (f[i - 1][j - 1] + f[i][j * 2]) % kM;
}
}
cout << f[n][k];
3、数学建模维度
复杂度计算:
状态数量:\(O(n^2)\)
转移复杂度:\(O(1)\)
总复杂度:\(O(n^2)\)
4、改进措施
- 遇到无法下手的题,先简化题目的条件。
博弈
1、算法思想维度
问题类型:博弈论、01 Trie
错误原因:写了状压,\(30\) 分。
正确思路:按位考虑,若该位有偶数个 \(1\) 那么按最高位分两类递归下去做,否则肯定有一次最高位 \(0\) 和 \(1\) 匹配,且这个数一定是最大的,01 Trie 维护一下两个集合各出一个数异或最小值即可。
2、实现细节维度
边界问题:数组要开 \(7e6\)。
3、数学建模维度
复杂度计算:
01 Trie:\(O(\log V)\)。
总复杂度:\(O(n\log V)\)。
4、改进措施
- 遇到数学类的题要分析性质,不要干想。
数列
1、算法思想维度
问题类型:数学
错误原因:没注意到好数能拆成 \(9\) 个 \(111...111\) 的形式。
2、实现细节维度
边界问题:高精度不要写错
代码框架
for (int i = 1; i <= n; i++) a[i] = (s[n - i] - '0') * 9;
for (int i = 1; i <= n; i++) {
a[i + 1] += a[i] / 10;
a[i] %= 10;
}
if (a[n + 1]) n++;
for (int i = 1; i <= n; i++) sum += a[i];
for (int i = 1; i <= n * 10; i++) {
a[1] += 9, sum += 9;
for (int j = 1; j <= n;) {
if (a[j] < 10) break;
sum -= 10;
a[j] -= 10, sum++;
a[j + 1]++, j++;
n += (j == n && a[j + 1]);
}
if (sum <= 9 * i) {
return cout << i, 0;
}
}
3、改进措施
- 遇到不会的题可以拆分、分析性质
- 模板要背熟,不要忘记。
梦熊3月S组的更多相关文章
- usaco 2010年3月银组题解
usaco银组解题报告 一.石子游戏如果把‘O’当作0,‘X’当做1,则N个洞的每一种状态都可以看做是一个N位二进制数.于是,这个问题就变成了求环绕的N位格雷码.幸运的是,这个结构很容易就能够用一个简 ...
- DEDECMS之十 修改织梦链和文章的默认来源及作者
今天在用织梦搭网站的时候,发现了两个问题,一个就是最新的dedecms5.7系统中默认会加上“织梦链”这一个链接组,织梦的做法是可以理解的, 但是给别人做网站,这些链接是不能要的,所以在数据库,模板文 ...
- IP组播技术介绍及实现例子
引 言 近年来,随着Internet的迅速普及和爆炸性发展,在Internet上产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网 络视频会议.网络音频/视频广播.AOD/VOD.股市行情发布. ...
- OI回忆录——梦开始的地方
前言 谨以此文,纪念和整理我在OI之路上的奔波历程. 或许,等到或早或晚都要来临的退役真正来临时,再写回忆录,就晚了,那么,趁现在,自信还在,青春犹存,整理一下我慢慢的OI路吧. 我真正开始接触OI是 ...
- 使用Azure portal Create Virtual Machine
使用简单快速的方式穿件的Virtual Machine 这个步骤隐藏的了很多步骤,例如的创建的云服务(Cloud Service) 创建存储(Storage) 存储名为系统自动产生 可以通过存储看到含 ...
- 现在的 Linux 内核和 Linux 2.6 的内核有多大区别?
作者:larmbr宇链接:https://www.zhihu.com/question/35484429/answer/62964898来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- 0122(本来是想ak的但是因为智障只拿了200。)
今天考了一场小测试,额,非常非常水,但是智障的我才A掉两道题. T1: 1.暑假作业 (mtime.pas/c/cpp) [问题描述] 暑假作业是必须要写的,越到假期结束前,写作业的效率就越高,小 ...
- SQL的发展史
在20世纪60年代,网状数据库系统(如CODASYL)和分层数据库系统(如IMS TM)是用于自动化银行业务.记帐和订单处理系统的一流技术,这些系统是由于商业大型计算机的引入才启用的.而SQL是在70 ...
- [计蒜客] 矿石采集【记搜、Tarjan缩点+期望Dp】
Online Judge:计蒜客信息学3月提高组模拟赛 Label:记搜,TarJan缩点,树状数组,期望Dp 题解 整个题目由毫无关联的两个问题组合成: part1 问题:对于每个询问的起点终点,求 ...
- 极简python教程:快速入门好方法
大家好,我是测试奇谭的作者风风. 其实很久之前,就有身边的同事或者网友让我分享一些关于python编程语言的快速教程,他们的痛点同大多数自学编程语言的人一样,遇到了这些问题: 网络上的信息太多,良莠不 ...
随机推荐
- 3-6softmax回归从0开始实现
3-6softmax回归从0开始实现 import torch from IPython import display from d2l import torch as d2l batch_size ...
- java Set HashSet详解
Set集合 就像把对象随意扔进罐子里,无法记住元素的添加顺序.Set某种程度就是Collection,方法没有不同,只是行为稍微不同,(不允许重复元素),如果一定要往里加两个相同元素,添加失败add( ...
- 【7*】期望DP学习笔记
前言 由于马上就要把同学的<概率论与数理统计>还回去了,所以赶快看一点,并做一点笔记. 感觉网上很多文章讲期望 DP 都讲得不够透彻啊,就写一些自己的理解造福后人吧,自我感觉讲得很透彻. ...
- Luogu P10501 Cutting Game 题解
P10501 Cutting Game 博弈论经典题目,考虑使用 SG 函数解决. 但是这一题和有向图游戏的定义不同,在有向图游戏不能操作者判负,而这一题中操作出某个状态者判胜.因此,我们需要进行转化 ...
- 前端开发系列045-基础篇之TypeScript语言特性(五)
本文主要对TypeScript中的泛型进行展开介绍.主要包括以下内容 ❏ 泛型函数类型 ❏ 泛型接口(Interface) ❏ 泛型类(Class) ❏ 泛型约束 一.泛型函数的类型 在以前的文章中, ...
- python 超声波通信编码技术支点
https://www.allaboutcircuits.com/technical-articles/fsk-explained-with-python/ 分析注释 VCO 主要分频率了两个区间一个 ...
- Android中List列表交换项目位置
更换项目位置 利用集合的更换函数 swap() Collections.swap(lstApps, frmIndex, toIndex); 移动项目到指定位置,其他所有项目后移 要实现这个没有现成的方 ...
- ETL与抖音数据同步,让数据流动无阻
在当今数字化时代,数据的价值日益凸显,企业需要从各种渠道获取有关用户行为.市场趋势和竞争对手活动的数据.作为一家专注于数据集成和转换的领先平台,ETLCloud为企业提供了强大的数据同步和转换功能.而 ...
- 使用图形化工具将redis数据备份和恢复的教程
redis的数据备份和恢复,yunedit-redis这款图形化客户端工具最合适,因为它不仅有增量备份/恢复功能,也支持全量备份/恢复,也不需要使用命令行命令或api编程那么复杂来实现.单纯通过客户端 ...
- flink 1.11.2 学习笔记(5)-lambda表达式的使用问题
flink的api,提供了流畅的链式编程写法,写起来行云流水,感受一下: SingleOutputStreamOperator<Tuple3<String, Integer, String ...