其它模板
_Ark
这个作者很懒,什么都没留下…
展开
-
三分法求单峰函数函数给定区间内最大值
//求 An * x^n + A(n-1) * x^(n-1) + ... + A1 * x^1 + A0 * x^0 在[l,r]上最大值//保证函数在[l,r]是单峰函数#include<bits/stdc++.h>using namespace std;const int MAXN = 15;const double eps = 1e-6;int n;double...原创 2018-11-03 16:07:05 · 810 阅读 · 0 评论 -
[POJ3468]关于整数的简单题 (你想要的)树状数组区间修改区间查询
#include <cstdio>#include <algorithm>#include <cstring>#include <cctype>using namespace std;template<class T>inline void read(T &num){ char ch; int flag=1; w...原创 2018-11-05 22:01:21 · 208 阅读 · 0 评论 -
树上背包DP Luogu P2014 选课
#include <cstdio>#include <cctype>#include <cstring>#include <algorithm>using namespace std;const int MAXN = 305;int n, m, fa[MAXN], val[MAXN], dp[MAXN][MAXN]; //表示i为根的子...原创 2018-11-05 11:04:31 · 212 阅读 · 0 评论 -
ID 迭代加深搜索 模板 埃及分数
#include <bits/stdc++.h>using namespace std;#define LL long longint Maxd;LL Ans[10], now[10];bool flag;inline void chkmin(){ for(int i = Maxd; i; i--) if(now[i] < Ans[i]...原创 2018-11-04 21:53:56 · 247 阅读 · 0 评论 -
最长公共上升子序列 O(n^2)
#include <bits/stdc++.h>using namespace std;const int MAXN = 5005;int A[MAXN], B[MAXN], N, M, dp[MAXN];int main(){ scanf("%d", &N); for(int i = 1; i <= N; i++) scanf("%d", &...原创 2018-11-04 20:09:53 · 167 阅读 · 0 评论 -
set的完整用法
#include<bits/stdc++.h>using namespace std;set<int>s;int main (){//begin()--返回指向第一个元素的迭代器//end()--返回指向最后一个元素的后一位的迭代器//clear()--清除所有元素//count()--返回某个值元素的个数 0/1 //如果是multiset就是元素个数...原创 2018-11-04 13:52:12 · 402 阅读 · 0 评论 -
set/priority_queue的运算符重载
#include<bits/stdc++.h>using namespace std;struct cmp{ bool operator ()(int a, int b) //重载小于 { return a > b; }};set<int,cmp>s1; //递增set<int>s2; //递减struct myint{ int v...原创 2018-11-04 13:11:00 · 280 阅读 · 0 评论 -
斜率优化板题 HDU2829 Lawrence
题目大意:给定一个长度为nnn的序列,至多将序列分成m+1m+1m+1段,每段序列都有权值,权值为序列内两个数两两相乘之和。求序列权值和最小为多少?数据规模:m&amp;amp;lt;=n&amp;amp;lt;=1000.m&amp;amp;lt;=n&amp;amp;lt;=1000.m&amp;lt;=n&amp;lt;=1000.分析:令w[i,j]w[i,j]w[i,j]表示区间[i,j][i,j原创 2018-11-09 11:57:42 · 175 阅读 · 0 评论 -
斜率优化板题 HDU 3507 Print Article
题目大意:输出N个数字a[N],输出的时候可以连续的输出,每连续输出一串,它的费用是 “这串数字和的平方加上一个常数M”。n&amp;amp;lt;=500000我们设dp[i]表示输出到i的时候最少的花费,sum[i]表示从a[1]到a[i]的数字和。于是方程就是: dp[i]=dp[j]+M+(sum[i]-sum[j])^2;很显然这个是一个二维的。题目的数字有500000个,不用试了,二维铁定超时了...原创 2018-11-09 09:42:40 · 185 阅读 · 0 评论 -
【堆】 大根堆和小根堆的建立
堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左孩子和右孩子节点的值。(1)根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最小者的堆称为小根堆。(1)根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最大者,称为大根堆。用堆的关键部分是两个操作:(1)put操作:即往堆中加入一个元素;(2)get操作:即...原创 2016-10-03 10:14:04 · 11712 阅读 · 1 评论 -
【优先队列】
优先队列:顾名思义,首先它是一个队列,但是它强调了“优先”二字,所以,已经不能算是一般意义上的队列了,它的“优先”意指取队首元素时,有一定的选择性,即根据元素的属性选择某一项值最优的出队~百度百科上这样描述的: 优先级队列 是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素 优先队列的类定义 优先队列是0个或多个元素的集合,每个元素都有一个优先权或值,对优...转载 2016-10-03 13:28:32 · 561 阅读 · 0 评论 -
fread/IO 模板
namespace Fread{ char cb[1<<15],*cs,*ct; #define getc (cs==ct&&(ct=(cs=cb)+fread(cb,1,1<<15,stdin),cs==ct)?0:*cs++) template<class T>inline void read(T &num) { ch...原创 2018-10-27 16:11:39 · 286 阅读 · 0 评论 -
多项式的各类计算(多项式的逆/开根/对数/exp/带余除法/多点求值)
预备知识:FFT/NTT多项式的逆给定一个多项式 F(x)F(x)F(x),请求出一个多项式 G(x)G(x)G(x),满足 F(x)∗G(x)≡1(mod&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;xn)F(x)*G(x) \equiv 1(mod\ x^n)F(x)∗G(x)≡1(mod&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;xn)。系数对 998244原创 2019-02-14 19:03:17 · 1240 阅读 · 0 评论