关闭

[莫比乌斯反演] BZOJ 4804 欧拉心算

手推一推就知道答案是Ans=∑D=1n⌊nD⌋⌊nD⌋∑d|Dμ(d)∗ϕ(Dd)Ans=\sum_{D=1}^n \lfloor { n\over D}\rfloor\lfloor { n\over D}\rfloor\sum_{d|D}\mu(d)*\phi({D\over d})后面那个f(n)=∑d|nμ(d)∗ϕ(nd)f(n)=\sum_{d|n}\mu(d)*\phi({n\over...
阅读(617) 评论(0)

[分治 杂题] Codeforces Gym 101173 CERC 16 G & BZOJ 4792 Geohash Grid

先转化问题 If we lay down numbers on a single line and mark numbers within the polyline, We obtain the optimal k-approximation by removing k−1k−1 largest gaps. 我们考虑怎么求gap 我们把网格切成两半的时候也就是把值域切成了两半 我们只要递归模...
阅读(228) 评论(0)

[2-SAT 构造] Codeforces Gym 101173 CERC 16 L. Lost Logic

题目大意 给nn个01变量的三种取值 构造形如 (!)a->(!)b 的限制 使得有且仅有这三个满足 首先我们可以把三个值一样的变量去掉 只要一个限制就够了 然后剩下6类 类内部的变量一定两两相同 那么加一下限制 完全互补的两类可以合并 只要分别取出代表 限制两个一定相反就好了 这样我们最多剩下三类 一类 显然不需要限制 两类 去两个代表 这两个变量的值组成的二元组只有三种值是有效的 实际上...
阅读(226) 评论(0)

[构造] Codeforces Gym 101173 CERC 16 K & BZOJ 4796 Key Knocking

每三个一起考虑 不论如何 我们都可以进行最多一次操作使得答案加2 就好了#include #include #include #include #include using namespace std;const int N=1000005; char s[N]; int n;const int op[]={...
阅读(365) 评论(0)

[状压DP Hall定理 折半] Codeforces Gym 101173 CERC 16 B & BZOJ 4788 Bipartite Blanket

有印象这是JZOJ某次的题 但是当时不会做 还是直接搬题解吧首先是hall定理 他有个推论是正则二分图一定有完美匹配 当然这个跟本题不相关 Hall’s marriage theorem gives a necessary and sufficient condition for existence of a matching that covers a set of nodes...
阅读(257) 评论(0)

[构造] Codeforces Gym 101173 CERC 16 D & BZOJ 4790 Dancing Disks

FB! 懒 直接搬题解吧 先令fn,mf_{n,m}表示n∗mn*m的网格能排序的最大数量 我们把左上角这一格里的数 按大小分到其他块中 其中(i,j)(i,j)最多放fn−i+1,m−j+1f_{n-i+1,m-j+1}个 然后递归的做就好了 我们发现某根柱子就算本来有东西也毫不影响 踩上去就是了 这样是fn,m=∑i=1n∑j=1mfi,j     i≠n or j≠mf1,1=1...
阅读(193) 评论(0)

[构造] ICPC 2016 Hong Kong I. Special Tour

有一个n∗mn*m的网格图,构造一条哈密尔顿回路使得相邻的两个点的距离为22或者33,如果无解输出无解。 n,m≤200n,m\leq200我是dls的脑残粉 #include #include #include using namespace std;int n,m; int flag; inline void print(int x...
阅读(119) 评论(0)

[背包 压位 CDQ分治] ICPC 2016 Hong Kong H. Slim Cut

有一个nn个点mm条边的图。 记一个割(S,T)(S,T)的slimness为跨在SS和TT之间边的边权最大值除以S和T的两个集合小的一个的大小。 找到一个slimness最小的割,输出slimness。 n≤14000,m≤30000n\leq14000,m\leq30000 时限5sdls太强辣 #include #include #include<a...
阅读(209) 评论(0)

[笛卡尔树 树形DP] ICPC 2016 Hong Kong G. Scaffolding

你要搭一个一共nn列的脚手架,第ii列放HiH_i根竹子。 你每次只能搬m根竹子上脚手架,并且只能在脚手架左右和向上移动。同时如果左边右边和上面没有竹子,也可以放一根竹子在那里。 问最少需要多少次搬完。 n≤100000n\leq100000直接建笛卡尔树 考虑从高往底拆 然后就可以树形DP了 fif_i表示拆子树ii到他的father的高度需要的次数 gig_i可以顺带算出表示拆了后还剩...
阅读(189) 评论(0)

[构造] ICPC 2016 Hong Kong A. Colourful Graph

传送门给你一个nn个点的无向连通图,每个点被染了kk个颜色中的一种。 你可以对其进行一些修改,假设i时刻的颜色为cv,ic_{v,i},那么i+1i+1时刻的颜色cv,i+1c_{v,i+1}可以为cv,ic_{v,i}或者cu,ic_{u,i},其中 uu , vv 之间有边相连。 给你初态和终止状态,问你有没有方法在2000020000步内从初态变成终态。 n≤100n\leq100这个步...
阅读(123) 评论(0)

[高中数学联赛题] Codeforces Gym 101173 CERC 16 E. Easy Equation

首先(0,1,k)(0,1,k)是个解 然后用主元法 a2−k(b+c)a+b2+c2–kbc−1=0a^2 - k(b+c)a +b^2 + c^2 – kbc -1=0 可得如果(a,b,c)(a,b,c)为解,那么(k(b+c)−a,b,c)(k(b+c)-a,b,c)也为方程的解 直接大力bfs 其实你需要高超的高精度技巧 Python大法好 第一次知道原来set跑的这么快fro...
阅读(605) 评论(0)

[莫比乌斯反演] CCPC 2016 Hangzhou J & HDU 5942 Just a Math Problem

记f(k)f(k)表示kk的素因子个数,g(k)=2f(k)g(k)=2^{f(k)}。 求g(1)+…+g(n)g(1)+…+g(n)。 n≤1012n\leq 10^{12}g(k)g(k)的组合意义为满足(i,j)=1(i,j)=1且ij=kij=k的对数。 所以变成求(i,j)=1(i,j)=1且ij≤nij\leq n的对数。 ∑ij≤n[(i,j)=1]===∑ij≤n∑d|i...
阅读(646) 评论(0)

[DP] CCPC 2016 Hangzhou I & HDU 5941 Inequality

有n−1n-1个限制,为xi∗xi+1≥aix_i*x_{i+1}\geq a_i,这里要求xix_i都是正实数。 要求∑xi\sum x_i n≤2000n\leq2000 解肯定是分成若干不短于2的段 每段内部取等号且和最小 那么我们用fi,jf_{i,j} 表示[i,j][i,j]是最后一段取等号的 如果[i,j][i,j]和[i+1,k][i+1,k]取等号时的xixi和xi+1x...
阅读(311) 评论(0)

[快速幂 NTT + 最短路] ICPC 2016 China Final I. Cherry Pick

你有mm种面值的硬币,分别为c1,…,cmc_1,…,c_m,每种有无限张。 你去摘nn个樱桃,每个樱桃都有pp的概率摘下来。 你要要用你的硬币把你摘了的樱桃给买下来,每个樱桃需要11元钱,但是不能找钱。 问最好的情况下你期望要多花多少钱。 答案对10^9+7取模。 n<=1e9,m<=100,ci<=1e4n<=1e9, m<=100, ci<=1e4, 且若i≠ji≠j,有ci∗cj<...
阅读(266) 评论(0)

[任意模数NTT 三模数NTT] COGS 2294 [HZOI 2015] 释迦

膜拜大佬可能不敢食用myy的论文啊 只会无脑三模数NTT 拆系数FFT什么的好大啊 于是我们找三个费马质数 使得他们的乘积超过 nP2nP^2 然后就可以用CRT合并了 但是正常的合并需要写高精 实际上我们可以tricky点#include #include #include #include using names...
阅读(703) 评论(0)

[费用流] ICPC 2016 China Final J. Mr.Panda and TubeMaster

传送门dls实在是太强啦 可能是我姿势不够高 自己瞎弄弄出个 带下界带正环最大费用循环流 先加超级源汇SS和TT 去下界 转成 带正环最大费用最大流 然后再加超超级源汇S和T 跑一边最大费用最大流 消掉正环 正环没了后 再在SS和TT上跑最大费用最大流 嗯 费用流练习题#include #include #include using...
阅读(291) 评论(0)

[离散对数 FFT FastIO] ICPC 2016 Shenyang K & HDU 5958 New Signal Decomposition

特判0 然后将所有下标取对数 那么就是 bk′=∑ah′∗ch′+k′b_{k'}=\sum a_{h'}*c_{h'+k'} 使用FFT解决本来好好的一道题 卡常数+卡空间+卡精度?!#include #include #include #include using namespace std; typedef doubl...
阅读(317) 评论(2)

[搜索] ICPC 2016 Qingdao J & HDU 5991 Cliques

给你一个图,你可以执行删边或者加边这样的操作,然后将这个图变成若干个团,问最小的步数。 如果答案超过10,输出-1。dls orzz 想偷懒用set 结果T了#include #include #include #include #define read(x) scanf("%d",&(x)) using namespace st...
阅读(292) 评论(0)

[环套树 bfs序] ICPC 2016 Shenyang J & HDU5957 Query on a graph

按层建线段树,或者说是bfs序。 然后修改的一定是不超过5层里面的连续的段,可以在线段树上直接修改。 对于环+树,把环抠出来之后按树的方法做。代码丑#include #include #include using namespace std; typedef long long ll;inline char nc(){ static c...
阅读(300) 评论(0)

[DP] Codeforces 150D #107 (Div. 1) D. Mission Impassable

题目大意 删长度为xx的回文串 会有得分axa_x 删完拼在一起 问最大得分 关键是设计状态 fi,j,kf_{i,j,k} 表示把[i,j][i,j]这段 删除掉还剩长为kk的回文串的最大代价 顺便gi,jg_{i,j}表示删完的代价 然后转移就不难看懂了#include #include #include #include<cstr...
阅读(161) 评论(0)
93条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:264076次
    • 积分:11943
    • 等级:
    • 排名:第1328名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:50条
    最新评论