- 博客(5)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 洛谷P4305 [JLOI2011]不重复数字
难度:普及+/提高 这道题主要用到的是unordered_map C++程序设计语言中,unordered_map、unordered_multimap、unordered_set、unordered_multiset是标准模板库(STL)提供的一类无序关联容器(unordered associative containers),是通过哈希表实现的数据结构。无序是指元素的名字(或者键值)的存储是无序的;这与用平衡二叉树实现的元素名字是有序存储的“关联容器”是相对概念。 ——百度百科 优点: 因为内部实
2020-08-19 17:15:49
406
原创 AC自动机模板
AC自动机模板[雾] #include <bits/stdc++.h> using namespace std; int n,t=1,trie[1000000][26]; int fail[1000000]; int cntword[1000000]; void insert(string& str) { //node* root=&trie[1]; int root=0; int len=str.length(); for(int i=0;i<len;i++)
2020-08-17 13:25:16
102
原创 过河卒
注:本文不仅为过河卒讲解,还会提到搜索的用法 先来看看《过河卒》这道水题, 题目传送门 相信很多人第一眼看到过河卒,都会以为的道搜索题,然后开始想,发现不对劲,有认为可以用递推做,有些神犇还是做出来了 ,但是……正解应该是道dp题…… 题目很好理解,一个卒从(0,0)到(n,m),有个马在(x,y),卒不能走在马一步可以到的位置上,问卒从起点到终点要几步。 既然这是道dp,那么必定要有状态转移方程。 这个时候就要用的小学的奥数了…… 看图↓ 变量dp[i][j]为从(0,0)到(i,j)的步数 代.
2020-07-04 20:27:07
230
1
原创 完全背包详讲
完全背包详讲题目思路(二维做法)代码一维做法总结!END 题目 题目:一个叫Eric(秦贼)的小偷去商店里偷东西,Eric的袋子体积为m,商店里有n种物品,价值为c[i],体积为v[i]。由于Eric开了外挂,导致每样商品都有无数件可以取,求背包中最多能放的物品的价值是最大多少? 输入: 第一行两个整数n,m 第2~n-1行,每行输入v[i],c[i] 输出: 前面说过 样例输入: 4 10 2 1 3 3 4 5 7 9 样例输出: 12 思路(二维做法) 完全背包和01背包的区别就在于:完全背包中每样
2020-07-02 22:13:16
205
原创 动态规划和01背包
动态规划:对解最优问题的一种途径、一种方法,而不是一种特殊算法 动态规划模型01背包 模型 经典例题:数字金字塔 题意:金字塔第一层有1个含数字的点,第二层有两个含数字的点……第n层有n个含数字的点,求从n层的任意一点还是,到达第一层所经过的数字和最大为几?例如下图,n=3。 样例输入: 3 12 25 19 6 10 3 很明显,这是道dp水题 我们先定义一个二维数组dp[][]和a[][],dp[i][j]表示从dp[1][1]到dp[i][j]的最大数字和,a[i][j]存储各个位置上的数值。 .
2020-07-02 17:59:19
181
求大佬这道题的代码和思路
2020-10-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人