首页 > 简单瞎搞题
头像 你非阳光但却暖我心
发表于 2020-05-19 17:50:09
首先的话我们需要知道这种类型的题一般常规做法就三种暴力、dp和搜索(当然有些神奇的题目可能会用到其他的做法比如说数论)。暴力思路很容易想到,但是复杂度显然不允许。需要考虑 dp /记忆化搜索,首先可以发现的是产生的数非常小,于是我们可以开一个数组来存放存产生的数(产生了 32 那么 mark[32] 展开全文
头像 shyyhs
发表于 2021-01-12 16:48:30
前言: 昨天深夜秒了不下6道题的其中一道.我以为我秒了,结果被卡bool了,不过也不错,可以复习一下bitset. 思路: 首先是一个简单的背包dp. 代码如下: #include <bits/stdc++.h> using namespace std; const int N=1e6+ 展开全文
头像 子希
发表于 2020-05-20 11:15:50
这个题目还有点意思。。。一开始愣是没看懂。。。暴力的做法O(100^100)超时,因为最终要是求得所有不同数的个数,我们考虑用二进制表示这个数能出现或者不能出现。二进制操作有一个非常好用的工具是bitset。如果不会bitset,http://www.cplusplus.com/reference/ 展开全文
头像 Bernard5
发表于 2020-05-20 17:02:49
思路 思路很简单就是用bitset来实现DP。 本题数据最大为故开空间1e6。 如果没有使用过bitset可以理解为一个bool数组。 bitset<N> ans声明,ans[i]的意思是是否能已知数据被表出,即 最关键的DP分析在这里:for (int i = l; i <= r 展开全文
头像 Kur1su
发表于 2020-05-19 19:49:15
心态炸了 不小心关掉 又要重新写 Description 一共有 个数,第 个数是 可以取 中任意的一个值。设 ,求 S 种类数。 Solution 这个问题的难点在于如何统计出所有和可能出现的情况,并且不能重复。很容易想到用桶去存储每一个数,即某个和能够组合出来则为1,否则为0不妨令 表 展开全文
头像 JQK2020
发表于 2020-05-25 17:14:00
*题目描述 *一共有 n个数,第 i 个数是 xixi 可以取 [li , ri] 中任意的一个值。求 种类数。 输入描述:第一行一个数 n。然后 n 行,每行两个数表示 li,ri。 输出描述:输出一行一个数表示答案。 思路令 dp[i][j]表示为第 i 次选择时,和为 j的情况是否出现过但是内 展开全文
头像 sunrise__sunrise
发表于 2020-05-06 10:34:56
简单瞎搞题 可以发现这题只存在两种状态0或者1,这种单一状态状态压缩动态规划的可以通过STL中的bitset去优化内存。比较容易发现当前状态一定可以通过前面一个状态转移过来,阶段的话可以选择在 中的某个数据算平方。累加进当前状态具体实现就是,先处理第一次输入的数据,保证不全是0(其实按照0初始化为1 展开全文
头像 Eihuvita.
发表于 2020-05-22 15:35:13
题意 共有 n个数,第 i 个数是 xi xi 可以取 [li , ri] 中任意的一个值。 设 ,求 S 种类数。 输入描述 第一行一个数 n。然后 n 行,每行两个数表示 li,ri。 输出描述 输出一行一个数表示答案。 解析 这个题目就一看就是dp呀,怎么看出来时dp的我就不多少 展开全文
头像 sunsetcolors
发表于 2020-05-05 21:50:17
E 简单瞎搞题 题目地址: https://ac.nowcoder.com/acm/contest/5556/E 基本思路: bitset优化dp,设记录的是到第个数时的所有可能情况的集合,那么比较容易得到转移方程: , 。 参考代码: #pragma GCC optimize(2) # 展开全文
头像 精神病科黄主任
发表于 2020-05-11 23:26:51
题目描述:一共有 n个数,第 i 个数是 xixi 可以取 [li , ri] 中任意的一个值。设S=∑xi2,求 S 种类数。 输入描述:第一行一个数 n。然后 n 行,每行两个数表示 li,ri。 输出描述:输出一行一个数表示答案。 思路:其实是个背包。有n个组,每组选一个数,问最后背包能装的体 展开全文

等你来战

查看全部