摘要:
滚动数组优化dp CF570E Pig and Palindromes 原题链接 题意: 给定一个n*m(n,m ⇐ 500)的字符矩阵,从(1,1)走到(n,m),每次只能向右和向下走,那么有多少种走法可以组成一个回文串。 思路: 由于形成的是回文串,我们可以假设有两个点,点A从(1,1)出发,点 阅读全文
摘要:
LightOJ1186——Incredible Chess 题意: n*n的棋盘,每一列有一个黑棋子和一个白棋子,只能上下移动并且不... 阅读全文
摘要:
P3901 数列找不同 原题链接 思路: 用一个桶直接维护每个数出现的次数和当前区间里不同数的个数,如果不同数的个数等于区间长度,说明该区间的数互不相同。 代码: #include<bits/stdc++.h> using namespace std; const int maxn=1e6+7; i 阅读全文
摘要:
CF4D Mysterious Present(二维LIS) 原题链接 思路: 一维的话考虑n^2和nlogn两种写法,二维的话先对第一维进行排序,再对第二位做LIS。 注意是严格单调上升子序列 代码: const int maxn=5100; struct node{ int w,h,id; }a 阅读全文
摘要:
动态规划 4.26 CF2B The least round way(数论+dp) 原题链接 题意: 题目描述 给定由非负整数组成的n×n 的正方形矩阵,你需要寻找一条路径: 以左上角为起点 每次只能向右或向下走 以右下角为终点 并且,如果我们把沿路遇到的数进行相乘,积应当是最小“round”,换句 阅读全文
摘要:
Gym - 101908L Subway Lines (树链剖分+线段树) 原题链接 题意: 给定一棵树,求a-b的路径和c-d的路径 思路: 树链剖分后,用线段树维护。 在a-b的路径权值全部加1,再查询c-d的区间和就是答案。 每次统计完后记得消除影响。 代码: #pragma GCC opti 阅读全文
摘要:
思路 模拟,不知道为什么结构体过不了 代码 #includeusing namespace std;const int maxn=1... 阅读全文
摘要:
题意 给完全二叉树的后序序列,求二叉树的层次遍历。 思路 后序遍历是左子树 右子树 根 用顺序存储表示完全二叉树时,数组就是层次遍历... 阅读全文
摘要:
原题链接 思路: d p ... 阅读全文
摘要:
codeforces1509 D. Binary Literature 原题链接 题意: 给定三个长度为 ... 阅读全文