摘要:
字典树+dfs就完事了 class Solution { public: int tree[10010][26]; bool vis[10010]; int cnt; vector<string> v; void build(string str) { int len = str.length(); 阅读全文
摘要:
就是一个拓扑+dp 每次选没有入度的节点时dp一下 dp[i]表示完成第i个节点需要的时间 则dp[i] = max(前驱节点的dp) class Solution { public: vector<int> child[50010]; vector<int> parent[50010]; int 阅读全文
摘要:
统计每个子树的个数就行 当前节点的value = 它的所有子树的节点个数 + 根节点树节点的个数 - 当前节点子树节点的个数 class Solution { public: vector<int> v[100010]; int num[100010]; long long ret[100010]; 阅读全文
摘要:
1 - n p = 1, q = n 奇数次选q, q++; 偶数次选p, p--; 直到选了k个数,此时相邻差的绝对值不同个数为k - 1 那么接下来该选的数,将按照上次选的方向直接选就行,也就是剩下的差的绝对值都为1 class Solution { public: vector<int> co 阅读全文
摘要:
从起点开始k个数的sum记为sum1,从终点开始k个数的sum记为sum2 如果sum1 > sum2,则说明相应长度取左边价值会更大,取完之后sum1 - 当前“起点”,sum2 - 当前“终点” 否则,取右边,sum1 - 当前“终点”,sum2 - 当前“起点” 相等时无所谓 class So 阅读全文
摘要:
kmp的next数组的思想 next[i]表示第i个数左边,第一个比第i个数大的数的下标 vector里对每个数存储其连续字段和price 如果当前的price比前一个数大,则返回1 否则往前遍历next,每次都加v[next[i]].cnt,直到next[i] == -1 或者 v[next[i] 阅读全文
摘要:
a和b中,大的为p,小的为q 令k = p / (q + 1),当i % k == 0时,str += 小的,否则str += 大的, 当然要注意大的因为str加的次数多,所以会在某一次迭代中 <= 小的,但绝不会 < 小的 - 2,可以思考一下为什么 这时每次加一个小的加一个大的即可 class 阅读全文
摘要:
问题1 《点云库PCL从入门到精通》第五章 2 range_image_visualization 可视化深度图像例程时 编译器报错"camera_":不是"pcl::visualization::PCLVisualizer"的成员,报错代码如下: viewer.camera_.pos[0] = p 阅读全文
摘要:
rand()就可以了 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNod 阅读全文
摘要:
涂色方案分成两类 6个xyx型和6个xyz型 对于每个xyx型的涂色方案,都有4个对应的涂色可以与其相邻,这4个中有2个xyx型的和2个xyz型的 对于每个xyz型的涂色方案,都有5个对应的涂色可以与其相邻,这5个中有2个xyx型的和3个xyz型的 设dp[i][0]表示最后一行为xyx的涂色方案数 阅读全文