摘要:
Note 2020/06 C++ 类 class Box { public: //类成员的访问属性 double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度 }; 构造函数/析构函数 对象 Box Box1; / 阅读全文
摘要:
裸的最小割,很经典的模型。 建图:要求总收益-总成本最大,那么将每条弧与源点相连,流量为成本,每个收益与汇点相连,流量为收益,然后每条弧与它所能到达的收益相连,流量为inf。 与源点相连的是未被选中的弧(未花费的成本),与汇点相连的是选中的收益,那么,初始状态是完美的,显然不可能,因为获得收益必然要 阅读全文
摘要:
裸题,注意:基本的判断(求Min还是Max),因为是顺着做的,且最后一个a[i]一定要取到,所以是f[n]。 DP:f[i]=min(f[j]+(i-j-1)*(i-j)/2+a[i]) 依旧设x>y且f[x]优于f[y](原来是通用方法。。。) 2*(f[x]-f[y]) +x^2+x-y^2-y 阅读全文
摘要:
想了好久啊.。。。——黑字为第一次更新。——这里是第二次更新,维护上下凸包据题而论,第一种方法是化式子的方法,需要好的化式子的方法,第二种是偏向几何,十分好想,纯正的维护凸包的方法,推荐。 用了我感觉比较好写的一种(因为没写过维护凸包),另一种是维护(上)凸包的做法,本质一样?推荐http://ww 阅读全文
摘要:
第一次斜率优化。 大致有两种思路: 1.f[i]表示第i个不选的最优情况(最小损失和)f[i]=f[j]+e[i] 显然n^2会T,但是可以发现f的移动情况可以用之前单调队列优化,就优化成O(n)的了。 2.f[i]表示第i个选,第j+1不选的最优情况(最大效率和)f[i]=f[j]+sum[i]- 阅读全文
摘要:
第一次写单调队列太垃圾。。。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #define N 50010 6 using namespace std; 7 struct 阅读全文
摘要:
三分套三分,挺神奇的。。。每次找到,每个传送带的上下两个三等分点,下面那个小,则一定有更优的在中间。 1 #include <iostream> 2 #include <cstdio> 3 #include <cmath> 4 #define eps 1e-3 5 using namespace s 阅读全文
摘要:
1230 线段树 1231 状压DP 1232 最小生成树 1527 贪心 1600 打表找规律 1601 最小生成树 1602 prime 1606 DP 1607 筛法 1609 DP 1610 几何 1613 DP 1614 二分+spfa判断,使最短路比二分的数大的边权小于k,二分10000 阅读全文
摘要:
SB贪心,一开始还想着用二分,看了眼黄学长的blog,发现自己SB了。。。 最小道路=已选取的奶牛/道路总数。 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 using namespace std; 5 int 阅读全文
摘要:
其实题不难,不知提交了几次。。。不能代码MD。。。注意一些基本问题。。。SB概率题 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #define N 1001 5 using namespace std; 6 dou 阅读全文