随笔分类 -  题解。蒟蒻

上一页 1 2 3 4 5 6 ··· 8 下一页
摘要:FFT模版题。观察题目,我们可以发现,只要把序列b倒过来,再联想一下乘法运算。。。我们会发现,将序列a和序列b当作100进制数,做一次乘法,然后从低到高每一位便是答案了(乘完无需进位)#include #include #include #include #include #include #inc... 阅读全文
posted @ 2015-05-05 16:07 NanoApe 阅读(193) 评论(0) 推荐(0)
摘要:丧心病狂的多项式乘法。。FFT模版题。。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i--)#define cd comp... 阅读全文
posted @ 2015-05-05 16:00 NanoApe 阅读(186) 评论(0) 推荐(0)
摘要:凸包题。我们先把所有信用卡的四个定点的坐标求出来,然后计算凸包长度,最后加上一个圆的周长就行。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; il=t->... 阅读全文
posted @ 2015-05-05 15:43 NanoApe 阅读(422) 评论(0) 推荐(0)
摘要:树状数组套权值线段树,然后对于每个询问进行二分答案。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i>1; if (k>1; if (s(l(y))-... 阅读全文
posted @ 2015-05-05 15:41 NanoApe 阅读(163) 评论(0) 推荐(0)
摘要:数据结构模版题【连这么神的题都沦为模版题了Orz对数离散化后树状数组套权值线段树。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; il=t->r=blan... 阅读全文
posted @ 2015-05-05 15:38 NanoApe 阅读(156) 评论(0) 推荐(0)
摘要:欧拉回路。把每个数当作一个节点,能首尾相连的就连接一条有向边。然后从起点跑一遍就行。#include #include #include #include #include #include using namespace std;#define rep(i, l, r) for(int i=l; ... 阅读全文
posted @ 2015-05-05 15:34 NanoApe 阅读(277) 评论(0) 推荐(0)
摘要:同样是道可并堆题。配对堆模版题。#include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i<=r; i++)#define clr(x, c) memset(x, c, sizeo... 阅读全文
posted @ 2015-05-05 15:32 NanoApe 阅读(130) 评论(0) 推荐(0)
摘要:最短路+堆优化。普通的堆还不行,自己用的是配对堆(貌似斐波那契堆也行?毕竟理论复杂度)然后发现自己的配对堆比云神的不知快了多少。。。我照着他的模版打的喂。。然后发现前T条边不理都能A。。。数据啊数据233#include #include #include #include #include #in... 阅读全文
posted @ 2015-05-05 15:21 NanoApe 阅读(276) 评论(0) 推荐(0)
摘要:这道题为树套树,我自己是替罪羊树套权值线段树。此题有三种操作:1.询问K值:可通过替罪羊树提取区间+权值线段树合并+二分答案求得2.修改:可通过权值线段树的删除+添加操作实现3.插入:可通过替罪羊树的插入操作实现#include #include #include #include #include... 阅读全文
posted @ 2015-04-21 20:20 NanoApe 阅读(212) 评论(0) 推荐(0)
摘要:一道BST的练习题。Treap版:#include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i pr[v]) Right(v); } else { Insert(x, r[v])... 阅读全文
posted @ 2015-04-21 20:16 NanoApe 阅读(158) 评论(0) 推荐(0)
摘要:Treap+启发式合并。依旧没什么需要用到脑子的。#include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i pr[u]) Right(u); } else { if (!r[... 阅读全文
posted @ 2015-04-21 20:14 NanoApe 阅读(211) 评论(0) 推荐(0)
摘要:图论中的2-SAT。模板题。#include #include #include #include #include #include using namespace std;#define rep(i, l, r) for(int i=l; in)#define travel2(x) for(ed... 阅读全文
posted @ 2015-04-21 20:11 NanoApe 阅读(161) 评论(0) 推荐(0)
摘要:拓扑排序难题。对于相同排名的玩家,我们将他们组成一个集合。这可以用并查集实现。然后将并查集看成一个点,将所有大于小于的关系转换成集合中的关系,这个过程就可以判断方案是否冲突了。然后拓扑排序求排名,顺便也就可以判断结果是否唯一了。#include #include #include #include ... 阅读全文
posted @ 2015-04-21 20:08 NanoApe 阅读(126) 评论(0) 推荐(0)
摘要:这题是基于一道经典的费用流模型。将每天拆成两个点i和j,新增源和汇并建立六种边:1.从源出发到每个i点,flow为+∞,cost为每条新餐巾的价值,表示这一天所使用的餐巾中来自购买的餐巾2.从源出发到每个j点,flow为每天所需的餐巾数,cost为0,表示这一天最多可使用的餐巾3.从每个i点出发至汇... 阅读全文
posted @ 2015-04-21 19:58 NanoApe 阅读(204) 评论(0) 推荐(0)
摘要:这是道网络流的题怎么样建图呢?我们从每个人 Ai 连边至其所对应的两个设备 Bi Bj,流量为+∞。然后新建一对源汇,源连至每个人,流量为满足此人要求的利润;每个设备连至汇,流量为建造设备的代价。然后求最大流flow,答案就是总利润减去flow。为什么这种建模可以呢?我们可以通过残留网络来观察。我们... 阅读全文
posted @ 2015-04-20 20:59 NanoApe 阅读(475) 评论(0) 推荐(0)
摘要:题意难懂。。。大意上说就是给m个排列P1,P2,P3...Pm,自己求个排列T使得T与Pi的各个数的绝对值差之和最小。其实也就是二分最小匹配了。。。。#include #include #include #include #include #include #include #include #de... 阅读全文
posted @ 2015-03-31 21:48 NanoApe 阅读(228) 评论(0) 推荐(0)
摘要:先对于每种可能的PK情况进行判断胜负,然后求最小改动最大匹配。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=hp2[y]) ret... 阅读全文
posted @ 2015-03-31 21:42 NanoApe 阅读(162) 评论(0) 推荐(0)
摘要:求二分最大匹配,但还要尽量接近原匹配。。。解决方法:对于N个顶点的二分图,每条边同时乘上一个比N稍微大的数N',然后对于在原匹配的边就都+1。经过这样处理,求得的答案Ans乘除N'即是原图的最大匹配,而Ans对N'取余则是现匹配中原匹配的边数。嗯这种思想以前貌似也有接触过,“乘加除余”?#inclu... 阅读全文
posted @ 2015-03-31 21:40 NanoApe 阅读(182) 评论(0) 推荐(0)
摘要:先根据不同的起点跑最短路,记录距离,从而建立二分图求最小匹配。一开始我求最短路的时候我把港口直接加到图中,然后发现进了港口就不能出来了,所以连接港口的边就要从双向边改成单向边…………这也搞得我n和m分不清了……还不如排除掉港口算最短路后再统计各艘船到各个港口的最短距离……然后我还傻叉地用了Dijks... 阅读全文
posted @ 2015-03-31 21:33 NanoApe 阅读(175) 评论(0) 推荐(0)
摘要:题目只有26个字母,所以我们新建一个二分图,v[i][j]表示字母i对应字母j时能成功匹配的个数,给这个边矩阵v求个最大匹配就是答案。#include #include #include #include #include #include #include #include #include #d... 阅读全文
posted @ 2015-03-31 21:27 NanoApe 阅读(196) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 8 下一页
AmazingCounters.com