- 博客(5)
- 收藏
- 关注
原创 红黑树【模板】【高性能】
#include<bits/stdc++.h> #include<thread> #include<windows.h> using namespace std; #define FIN freopen("D://debug//in.txt","r",stdin); #define FOUT freopen("D://debug//out.txt","w",stdout); #define FDATA freopen("D://debug//data.txt","w",s
2022-02-21 12:54:06 582
原创 codeforces 1162C1
Power Transmission (Easy Edition) 题意读完,就知道要处理出n*(n-1)/2条直线了。那么关键在于这条直线用什么样的方式存储起来呢?我用的是点斜式,存储斜率k和截距b,但是很遗憾,WA在了test15. 看了题解,正确地存储方式是用直线的一般式Ax+By+C=0,好的我们现在存储三个信息,这里有一个细节需要注意,就是A和B这两个信息是跟斜率有关的,k=-A/B,所...
2019-11-11 19:10:57 175
原创 codeforces 1152D
D. Neko and Aki’s Prank 这道题首先想到的是,这颗树中有非常多重复的情况,比如’()()(’,’(())('都是重复的一颗子树,记忆化搜索的写法先确定下来。 答案如果是求有多少条边的话,那么我已经ac了,但是答案是要我求最大的互不相交的边集(方便起见,我叫它匹配,值为ans)。 跟2有关吗?跟树中的分叉数有关吗?我一直在思考怎么先求出边的总数,再找出边总数与这些参数之间的某种...
2019-11-10 21:02:33 152
原创 codeforce 1185C2
Exam in BerSU (hard version) 这道题是属于codeforce上的一道题,说明不会用到一些特别难写的数据结构,这道题是要你维护一个关于整数的多重集合,然后给你一个背包容量,查询用这个背包最多可以装多少个该集合里的数,显然,每次取走集合中最小的那个数,我们的背包才能装的更多。所以该集合要维护成有序集。 我们对该有序集要实行两个功能:1.插入新元素。2.查询前n小的数之和。 ...
2019-11-02 10:24:55 277
原创 codeforce 1125E
codeforce rock in push 这道题我看的时候第一反应是记忆化搜索,但是仔细想想,一共有2nm种状态,并且每种状态都有次数在0-max(n,m)的转移,这么说的话,复杂度接近O(N^3),本人也试了一次,果然tle. 现在就要从状态转移方程中找到可以优化的地方了。这道题的部分状态转移方程(先设定0是向右,1是向下): dp[i][j][0]=dp[i][j+1][1]+dp[i][...
2019-10-31 18:47:28 265
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人