2018-09-25-weekly】的更多相关文章

传送门 题意简述:m个石子,有两个队每队n个人循环取,每个人每次取石子有数量限制,取最后一块的输,问先手能否获胜. 博弈论+dp. 我们令f[i][j]f[i][j]f[i][j]表示当前第i个人取石子,石子还剩下j个时能否获胜. 显然如果有取法让轮到第(i+1)(i+1)(i+1) modmodmod 2n2n2n 个人有必败状态,那么的当前就是必胜状态. 再令k=(i+1)k=(i+1)k=(i+1) modmodmod 2n2n2n 于是f[i][j]=f[k][j−1]∣f[k][j−2…
传送门 如果有n==m的条件就是卡特兰数. 但现在n不一定等于m. 我们可以考虑用求卡特兰数一样的方法来求答案. 我们知道有一种求卡特兰数的方法是转到二维平面求答案. 这道题就可以这样做. 我们将这个序列映射到二维平面上. 相当于从(0,0)(0,0)(0,0)出发,每次只能向右上方或者向右下方走对应着选1/0,最后应该停在(n+m,n−m)(n+m,n-m)(n+m,n−m). 但这样会出现非法状态. 如何排除? 我们发现如果出现非法状态一定会穿过直线y=−1y=-1y=−1,这样我们把图像关…
传送门 又一道虚树入门题. 这个dp更简单啊. 直接记录每个点到1的距离,简单转移就行了. 代码: #include<bits/stdc++.h> #define N 250005 #define ll long long #define min(a,b) (a<b?a:b) using namespace std; inline ll read(){ ll ans=0; char ch=getchar(); while(!isdigit(ch))ch=getchar(); while(…
传送门 虚树入门题? 好难啊. 在学习别人的写法之后终于过了. 这道题dp方程很好想. 主要是不好写. 简要说说思路吧. 显然最优值只能够从子树和父亲转移过来. 于是我们先dfs一遍用儿子更新父亲,然后再dfs一遍用父亲更新儿子. 这样搞完之后可以统计出每个点所属的管辖点. 然后统计. 但这样单次跑是O(n)O(n)O(n)的不优秀. 考虑优化算法的时间复杂度. 注意到所有管辖点加起来只有O(n)O(n)O(n)个. 因此我们每次只把跟管辖点有关的点连起来建出一棵虚树. 然后每次就在上面跑带边权…
传送门 毒瘤细节题. 首先考虑不合法的情况. 先把相同的值配对,这样就构成了一些区间. 那么如果这些区间有相交的话,就不合法了. 如何判断?DZYO安利了一波st表,我觉得很不错. 接着考虑两个相同的值,它们中间一定只有奇数个数. 然后剩下不合法的情况可以在接下来处理时判断. 接下来还原序列的问题是可以拆分成子问题的. 考虑这两个相同的值夹住的区间. 显然这个区间里是没有值相同的. 对于区间里两个相邻且不全为0的数. 如果是形如0xy0xy0xy的话,我们把0改成y可以变成一个可行解yxyyxy…
传送门 矩阵快速幂板题,写一道来练练手. 这一次在poj做题总算没忘了改万能库. 代码: #include<iostream> #include<cstdio> #define mod 10000 #define A a[0][0] #define B a[0][1] #define C a[1][0] #define D a[1][1] using namespace std; int n; struct Matrix{int a[2][2];Matrix(){A=0,B=C=D…
传送门 dp好题. 我认为原题的描述已经很清楚了: 你有一个大小为n的背包,你有n种物品,第i种物品的大小为i,且有i个,求装满这个背包的方案数有多少. 两种方案不同当且仅当存在至少一个数i满足第i种物品使用的数量不同. 然而我只会O(n2)O(n^2)O(n2)的做法. 然后通过搜题解学会了O(n∗sqrt(n))O(n*sqrt(n))O(n∗sqrt(n))的做法. 简单讲讲. 首先我们需要分布考虑. 对于大于sqrt(n)sqrt(n)sqrt(n)的物品是选不完的,相当于没有数量限制.…
老实说笔者学习 Go 的时间并不长,积淀也不深厚,这次因缘巧合,同组的同事以前是上海大学的开源社区推动者之一,同时我们也抱着部分宣传公司和技术分享的意图,更进一步的,也是对所学做一个总结,所以拟定了这次分享.另外与会的同学大多都是大二大三的"萌新",考虑到受众水平和技术分享的性质,所以实际上这次分享涉及到的知识点都相对基础,当然为了寓教于乐,本人也十分讨厌着重介绍基础语法时可能引起的枯燥,所以加了少少的私货,并且也针对 1.11 及之前版本中或优雅,或局限的特性做了发散性的讲解. 总而…
时间:2018.09.15地点:北京国华投资大厦…
时间:2018.09.12地点:北京国际饭店会议中心…