关闭
当前搜索:

[杂题] Codechef July Challenge 2017 #MULDIG Multiplication Program

大意是把二元运算化成一元运算 感谢sxt的帮助剩下的看代码注释吧 //我觉得蛮清楚了 唯一不爽的是 没想到临时变量这么多 mmp#include #include #include #include #define pb push_back using namespace std;int B;struct abcd{ i...
阅读(208) 评论(0)

[杂题] Codeforces 830C Round #424 Div1 C. Bamboo Partition

随便搞搞吧#include #include #include using namespace std; typedef long long ll;#define read(x) scanf("%d",&(x))const int maxn=200005; const int P=1e9+7;const int N=505;int n,a[N]...
阅读(221) 评论(0)

[杂题] Codechef SnackDown 2017 Onsite Final #MINIMAX Minimax

最小值的最大值小于等于最大值的最小值 那么只要有一行一列最小值等于最大值,那么矩阵就合法 如果我们枚举这一行和这一列,那么最小值最大值一定就是他们的交点 那么再枚举交点最后的值是多少 这样复杂度是O(n4)O(n^4) 换一下 先枚举值 再枚举位置 可以去一个代价最小值 O(n2logn)O(n^2\log n)#include #include #in...
阅读(149) 评论(0)

[计数] 美团 CodeM 复赛 排列

#include #include #include using namespace std; typedef pair abcd; typedef long long ll;#define read(x) scanf("%d",&(x))const int P=1e9+7;inline ll Pow(ll a,int b){...
阅读(213) 评论(0)

[杂题] Ural 1961. Cantonese Dialect

根据最大似然估计,应该找出最大的 f(M)=(Mm)(N−Mn−m)(Nn)f(M)={{M\choose m}{N-M \choose n-m}\over {N\choose n}}我们手推下 f(M+1)≥f(M)f(M+1)\ge f(M),得M≤(N+1)mn−1M\le {(N+1)m\over n}-1 那么答案是(N+1)mn{(N+1)m\over n}#include<cstd...
阅读(173) 评论(0)

[杂题] AtCoder Grand Contest 007 E Shik and Travel

二分答案 然后每个子树维护二元组(a,b)(a,b)表示存在一个进入该子树后,第一天花费为aa,最后一天花费为bb,中间天都满足相邻叶子距离小于等于MidMid 直接转移状态数太多,我们发现对于一个aa只需要最小的b′b',一个bb只需要最小的a′a',可以two-pointers合并 那么新的状态数|S|≤2×min(|S1|,|S2|)|S|\le 2\times \text{min}(|...
阅读(270) 评论(0)

[二幂拆分] hihoCoder Challenge 29 B. 快速乘法 & BZOJ 1111[POI2007]四进制的天平Wag

参考这里 这是个经典问题,我们考虑记忆化搜索的过程,那么每次一个状态x,会产生新状态 ~x+1什么的,而这个状态数总数是O(logn)O(\log n)的 举个链接中的例子 1010110 –> 10110 –> 110 -> 10 0101010 –> 1010 所产生的所有串的数目刚好是x的位数减去末尾的0的数目那么我们就可以直接写一个记忆化搜索,然而这不优美 可以直接从低向上DP...
阅读(403) 评论(11)

[杂题 贪心] BZOJ 2138 stone

#include #include #include using namespace std; typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,1...
阅读(241) 评论(0)

[杂题] Codeforces 772D VK Cup 2017 - Round 2 D. Varying Kibibits

一个集合的 子集的和的平方 的和 就记一下 ∑a0i\sum a_i^0、∑a1i\sum a_i^1和∑a2i\sum a_i^2就好了 处理出 f(S)≥xf(S)\ge x的 这个就是一个6维前缀和 然后再把前缀和倒回去 就好了#include #include #include using namespace std; typede...
阅读(161) 评论(0)

[杂题] SnackDown 2017 Online Elimination Round #PREFIXOR Prefix XOR

考虑sr xor si−1≤sr+1 xor si−1s_r\ \text{xor} \ s_{i-1}\le s_{r+1}\ \text{xor} \ s_{i-1} 相当于对si−1s_{i-1}第k位有一个限制 k是srs_{r}和sr+1s_{r+1}的LCP后一位然后就能很快算出每个点向右的答案 主席树一发#include #include #i...
阅读(236) 评论(0)

[杂题 背包DP] Codeforces 793E Tinkoff Challenge - Elimination Round E. Problem of offices

因为都经过根 那么只要考虑根的那么些子树就好了 然后要求 a-b之间是n/2个点 c-d之间是n/2个点 四个点的顺序是 a-c-b-d 或 a-d-b-c 那么背包做一下就好了 If solution of both knapsacks exists, then answer is «YES», otherwise «NO». We can always order items fro...
阅读(236) 评论(0)

[杂题] Codeforces 739D Round #381 (Div. 1) D. Recover a functional graph

Let’s think what has to hold after we put numbers in place of question marks: number of vertices with precycle = 0 and cycle = y should be divisible by y. if there exists a vertex with pr...
阅读(285) 评论(0)

[构造] Codeforces Gym 100553 NEERC 14 E. Epic Win!

一道神奇的题 题目大意给你一个剪刀石头布自动机 然后让你构造一个剪刀石头布自动机克制他 这个我们先构造出一个完全针对他的自动机WW 无用的边我们先当他undefined 然后我们开始枚举起点一起跑 用双方所在节点(x,y)(x,y)表示状态 当前状态的转移遍不存在时 我们就把这条边连向WW的一个副本的对应节点 如果成环了 那么一定是在一个WW的副本里成环 这个环是一直赢的 因为只有WW副本之...
阅读(287) 评论(0)

[博弈 杂题] Codeforces 794E Round #414 E. Choosing Carrot

这个题 首先我们要知道结论If n is even, the answer is while if n ≥ 3 is odd, the answer is . (If n = 1 then the answer is obviously a1.) 为什么呢 证明看题解然后可以动kk步就是所有长为n−kn-k子区间的答案的最大值#include #include #...
阅读(560) 评论(0)

[杂题] Codeforces 794D Round #414 D. Labelling Cities

可以证明有相同邻接节点集合的点染色必相同 否则必不相同 缩点 然后一个点度不超过2且连通 然后就是一条链或环 环肯定不可能 然后就好了#include #include #include #include #include #include #define pb push_back using names...
阅读(286) 评论(0)

[杂题] Codeforces 799E Round #413 E. Aquarium decoration

枚举下选了几个ab都喜欢的 没什么难度 就是细节贼多#include #include #include using namespace std; typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&...
阅读(366) 评论(0)

[线段树 杂题] Codeforces 806E VK Cup 2017 Round 3 E. Blog Post Rating

这个我们发现排好序后跑答案是最大的 然后就是维护一个支持插入的序列 我本来想把权值相同的压成一段 然后就gg 出门左转神犇学弟博客#include #include #include using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf;...
阅读(233) 评论(0)

[最短路 杂题] Codeforces 806D VK Cup 2017 Round 3 D. Perishable Roads

我们把所有边权都减去最小值 然后发现 肯定是一条链然后下面挂着一条0边 然后挂着一整颗子树 子树中贡献都是0 那么我们要最小化那条链 我们发现这条链上如果有连续的权值为 0⋯a,b,c,d⋯且b>c0\cdots a,b,c,d\cdots \text 且 b>c 那么我们把a,ba,b换成一条边答案不会更劣 唯一不行的就是bb就是链头没有边 之后的边必然是递增的 这样就可以做一个最短路了#i...
阅读(201) 评论(0)

[最短路 杂题] BZOJ 4356 Ceoi2014 Wall

具体看题解 我说不清楚 首先可以证明 这个环必然包裹住了所有左上角到其他城市的最短路 证明可以调整为包进去 而不会边劣 然后求出所有最短路 然后把它们包进去的话 把一个交点拆成四个点 然后跑一下左上角绕一圈到左上角的最短路#include #include #include #include #include<que...
阅读(488) 评论(0)

[杂题 神证明] BZOJ 4893 项链分赃

这个题的证明有点妙啊 结论是 切得刀数不超过颜色数先扯那个地球问题 二维的情况也就是在圆周上 因为两者互换位置 两条图线必定有交点 就证完了 三维 在球面上 我们固定一维转动 看做无数个圆周 都可以找出两点气压一样 又因为函数连续 那么这两点的移动也是连续的 这样就锁定了一维必定相等 也就把问题压低了一维 也就是跟上面同理然后这有什么用呢 这其实是跟两种颜色对应的问题是等价的 首先在这个题里离...
阅读(842) 评论(0)
74条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:309414次
    • 积分:12408
    • 等级:
    • 排名:第1311名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:54条
    最新评论