- 博客(7)
- 收藏
- 关注
原创 AtCoder Grand Contest 019 F - Yes or No
链接:link题意:有n+mn+m个询问,其中nn个是YES,mm个是NO,你回答一个问题之后会知道这个问题的答案,求最优策略下你期望对多少个。题解:显然最优策略是回答多的那个。 不妨设n≥mn\ge m,将正确答案画在二维平面上,发现是(n,m)(n, m)到(0,0)(0, 0)的一条路径。 画一条对角线y=xy=x,我们发现如果路径不经过对角线那么答案就是nn。 我们考虑计算答案的增量,
2017-08-31 20:46:20 1746
原创 CodeForces 843 简要题解
A. Sorting by Subsequences暴力。#include <bits/stdc++.h>#define xx first#define yy second#define mp make_pair#define pb push_back#define mset(x, y) memset(x, y, sizeof x)#define mcpy(x, y) memcpy(x,
2017-08-30 19:33:29 1567
原创 AtCoder Grand Contest 019 E - Shuffle and Swap
链接:link题意:给两个01串AA,BB,它们11的个数相同,记aia_i表示AA中11的出现位置,bib_i表示BB中11的出现位置,将aa和bb打乱后依次交换AaiA_{a_i}和AbiA_{b_i},求有多少种方式使得A=BA=B。题解:我们先考虑aa和bb的匹配,再考虑顺序。 对于一个给定的匹配,我们从aia_i到bib_i连一条有向边,注意到每个点入度和出度不超过11,所以这个图一定由
2017-08-27 19:41:33 1463 2
原创 Topcoder SRM 720 Hard
链接:link题意:给一个图和两棵树,你要让第一棵树是最小生成树,第二棵树是最大生成树,改变的边权之和最小。题解:网络流。 首先可以很容易地转化为一个一般性问题: 记新边权为www,旧边权为vvv,有一些形如限制wi≤wjwi≤wjw_i\le w_j的限制,使∑|wi−vi|∑|wi−vi|\sum|w_i - v_i|最小。 记fi(x)=|x−vi|fi(x...
2017-08-27 19:05:54 1258
原创 CodeForces 840E. In a Trap
链接:link题意:一棵树,点有点权aia_i,每次查询uu到vv路径上的max(aixordis(i,v))max(a_i\,xor\,dis(i, v)),保证uu是vv的祖先。题解:注意到nn和权值都不大,我们考虑值域分块。 考虑维护一个点xx向上256256个点的信息,这样我们后八位在跳的时候不会产生影响。 然后fx,if_{x, i}表示xx向上256256个点的max(ajxordi
2017-08-19 17:36:17 1284
原创 CodeChef AUG17 简要题解
RAINBOWA签到。#include <bits/stdc++.h>#define xx first#define yy second#define mp make_pair#define pb push_back#define mset(x, y) memset(x, y, sizeof x)#define mcpy(x, y) memcpy(x, y, sizeof x)usin
2017-08-18 17:38:48 553
原创 Topcoder 2017 TCO Algorithm Round 3A Hard
链接:link题意:给一棵nn个节点的树,有mm个人,给每个人分配一个位置,满足一些限制: 如果以rir_i为根,aia_i和bib_i的LCA为xix_i。题解:2-SAT。 考虑第ii个人是否在子树jj里建立一个点,然后怎么建边就很简单了。 注意树形结构的一些限制。 (其实应该可以把边数优化到和点数同阶,但是原题范围n2mn^2m能过,就没去写了)代码:#include <bits/st
2017-08-08 14:36:34 523
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人