
动态规划
Shima_KaZe
人活着就是为了岛风
展开
-
20171005写题心得
听说你想看题?1.集合 关于这道题,第一个想到的就是枚举两个数,然后把符合条件的点并到一个集合中去。然而,这算法太low了,不屑一顾(手动滑稽)。真正的解法 其实只要在使用埃氏筛法的同时,把两个数并在一起就可以了。这样的话复杂度就是并查集复杂度*n代码#include<iostream> #include<vector> #include<cstring> #define M 100086 #d原创 2017-10-05 21:07:30 · 350 阅读 · 0 评论 -
离线赛20171008总结
考试时的状态 这次考试总的来说考得很糟,前面三个小时基本都在梦游,不知道自己在该干什么。看了半天题目,连最基本的排序都没想起来,用计数算了半天,却被重复运算搞懵了,这些特殊情况都不该出现的。基本上分数都是最后半小时拿来的,自然也不会考得很高了。题解第一题: 这道题关键考察的就是排列组合,这里有一个很重要的结论,那就是c[i][j]=c[i-1][j]+c[i-1][j-1]。这个结论的推导也是比原创 2017-10-08 19:25:20 · 322 阅读 · 0 评论 -
20171009离线赛总结
考试时的思路: 第一题 直接枚举 正着循环,倒着循环,求出每个点对应的L和R 第二题 20:32 2017/10/9 看了半天,把所有可能的区间预处理出来,dfs。 第三题 30分的话,用二进制枚举,看一条边取还是不取。 可以先把链的写了,输入的u到v的路径就变成了一个区间,这样的话,问题就简化为区间调度问题。 按照终点排序,然后贪心。题解:第一题:双击 这道题还是相当水的,只原创 2017-10-10 15:09:36 · 277 阅读 · 0 评论 -
20171010离线赛总结
题解:第一题:字符连通块 这道题还是比较好想的,首先把每个连通块标记出来,并用第一次扫到的点标记为这个连通块的父节点,接下来要做的就是把一个‘*’周围的连通块连通起来。不过要注意一点,在连通标记的时候不要用memset,memset的复杂度是m/8(m是数组大小),会很慢,直接循环标记就好了。#include<iostream> #include<cstdio> #include<cstring>原创 2017-10-11 16:50:10 · 304 阅读 · 0 评论