摘要:(说明后补) cin >> n; for (int i = 1;i <= n; ++i) { cin >> B[i]; C[i] = B[i]; } sort(C+1,C+n+1); int m = unique(C+1,C+n+1) - C-1; for (int i = 1;i <= n; ++ 阅读全文
posted @ 2018-11-28 03:32 Frank的成长之路 阅读(85) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 #include 4 #define tx top[x] 5 #define ty top[y] 6 #define ls o>1) 9 using namespace std; 10 const int maxn = 100010; 11 12 int n, m, P ,root, tot; 13 int A... 阅读全文
posted @ 2018-08-25 10:22 Frank的成长之路 阅读(95) 评论(0) 推荐(0) 编辑
摘要:不废话 阅读全文
posted @ 2018-08-24 10:48 Frank的成长之路 阅读(65) 评论(0) 推荐(0) 编辑
摘要:这题挺揪心的 想了半天为什么要先乘法后加法 原因是这样的: 1. 加法和乘法顺序不一样会导致不同的结果 比如: (a+b)*c 不等于 a*c + b 而在记录懒标记的时候,加法和乘法两种标记放到一起,并不知道哪个先,哪个后。 所以要确定一个优先级 我们分析一下两种顺序: (1) 先加后乘 : (a 阅读全文
posted @ 2018-08-22 21:22 Frank的成长之路 阅读(144) 评论(0) 推荐(0) 编辑
摘要:思路:分块+二分 这道题也调试了很长时间,还有莫名RE,可是明明数组已经开够了啊,还是要再开大一点。 记录下代码: 阅读全文
posted @ 2018-08-21 16:08 Frank的成长之路 阅读(136) 评论(0) 推荐(0) 编辑
摘要:我学分块入门的第二题,其实它应该作为第一题做的 虽然之前做过一道类似的题目:作诗, 但是还是调试了很长的时间, 很多细节的地方经常搞错 看来代码还是得多练 先记录一下代码: 阅读全文
posted @ 2018-08-21 16:03 Frank的成长之路 阅读(166) 评论(0) 推荐(0) 编辑
摘要:作为我分块入门的第一道题 这道题花了我一整天的时间才搞出来 整理一下分块很实用思路: 分块的主要思路:比如操作区间[l,r] 1.如果l,r在一个分块里或者相邻的分块里,直接暴力 2. 否则,边角块暴力+中间分块整体解决 总体时间复杂度是n√n 能承受的数据范围是100000以内, 可以说很大了 想 阅读全文
posted @ 2018-08-21 15:58 Frank的成长之路 阅读(101) 评论(0) 推荐(0) 编辑
摘要:我搞算法竞赛也是比较晚的(相比那些市队大佬而已),我是从高一才开始在二中开始跟王老师学信息竞赛的,那个时候我是一个什么样水平的选手呢? 几乎是零基础,什么都不会。 不过,我唯一有的,也是后来一直支持着我从零开始变成“大佬”(当然不能跟市队的大佬们比啦),就是兴趣。 我认为,如果你想在搞算法竞赛这条路 阅读全文
posted @ 2018-06-30 19:40 Frank的成长之路 阅读(181) 评论(0) 推荐(0) 编辑
摘要:Pandas 是数据分析的一个很厉害的库 常用函数: 去重 Groupby 画图 读取数据: 阅读全文
posted @ 2018-03-03 18:49 Frank的成长之路 阅读(556) 评论(0) 推荐(0) 编辑
摘要:定义以及常用函数: 二维数组以及数组操作: 广播: 尽量不要使用for循环 多使用numpy的函数 多使用广播 这样速度更快 向量化计算: 阅读全文
posted @ 2018-03-03 18:07 Frank的成长之路 阅读(168) 评论(0) 推荐(0) 编辑