自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 并查集+生成树回顾专题

POJ1679问并查集是否唯一题解:考虑kruscal,从小到大将边相同的分为一组。然后对于每一组单独考虑,筛掉与之前组冲突的边(先不合并)。然后将剩下的边用个并查集判断一下即可。POJ2912题意:n个人剪刀石头布,每个人只能出一种。但是有一个裁判可以随意出。给出比赛信息,问n个人中是否有裁判,以及裁判在至少第几个可以确定?枚举裁判,然后忽略掉裁判,剩下的用一个并查集来判断是否...

2019-10-06 21:09:55 276

原创 codeforces787C(存在平局的博弈+往前递推)

题目链接题意,有n个点排成一个圈。有一个棋子,两个人轮流在各自集合选出一些数来移动棋子。将棋子移动到点1的人获胜,求棋子在2~n且两个人先手情况下的获胜情况题解:必胜态:后继状态对方有一个必败态必败态:后继状态对方都是必胜态平局:其他情况。因为我们已经不能必胜,但败更不优,所以其他情况就是平局。那么我们可以设dp[i][j]dp[i][j]dp[i][j]表示第iii个人在jjj个...

2019-09-29 17:24:25 211

原创 POJ2315(nimK博弈)

题目链接题意:有n<=30个足球,分别距离球门a[i]厘米。A、B两位同学每次可以选择其中一些球,最多为m(半径为R),然后踢他们。每次可以踢整数圈且不能超过L<=1e9。踢进最后一个足球的获胜,问谁获胜。首先对于每个足球每一圈转(2∗PI∗R)(2* PI * R)(2∗PI∗R)厘米,这样我们可以得知每次要转多少圈到球门,设为ttt,以及每次允许转的圈数,设为kkk。(这不...

2019-09-28 21:56:42 203

原创 51nod1490多重游戏(博弈 SG函数+找可败点)

题目链接题解:可以想到先建一棵trie树,然后每次转移就是在一个dag上转移。就自然的想到sg函数。但是此题目玩多次游戏,且输的一方要换先手。且最后一局才分胜负。我们可以从后往前,从最后一局游戏的胜负考虑。分析:若sg = 0,则此时最后一局后手必胜。想要获得后手,则上一局游戏必胜。又因为上一局后手必胜,由此推到,第一局游戏的后手将获得最后胜利。若sg = 1,则此时相当于每次取一个石子。别...

2019-09-28 21:37:20 173

原创 2019ccpc秦皇岛赛区K. MUV LUV UNLIMITED(博弈)

题意:两个人在一棵树上玩游戏,两人轮流在树上选择一个以上的叶子进行删除。最后删掉根节点的人获胜,问是先手必胜还是后手必胜(1).若只有一条链,则直接判奇偶(废话)(2).若不只一条链,则分以下两类情况讨论。若一个叶子节点的父亲节点不只一个儿子,那么先手必胜。因为删掉这个叶子后若达到必败态那么必胜,若达到必胜态,那么可以再删掉一些叶子节点达到必败态。因为删掉这个叶子节点后,总的叶子节点减...

2019-09-28 21:22:25 904

原创 surreal number(不平衡博弈的一类解决方法)

近期复习博弈论,以前一直不会surreal number。现在回去看了看,利用几篇博客:博客国家队论文初步了解了surreal num(超实数),大概可以用来解决一些较裸的不平等博弈的题目(=,=)总结一下:关于surreal number的概念论文讲的很清楚,相关性质以及运算都有很好的介绍。不再赘述。讲一下如何运用这个定理做题。首先得到了surreal number(设为x,L玩家状...

2019-09-27 17:42:13 1543

原创 2019牛客暑期多校训练营(第六场)C-Palindrome Mouse(回文树)

题目链接题意:给你一个字符串,将其中所有本质不同的回文子串求出来放在一个集合。问集合中一个串是另一个串的子串的对数是多少?题解:网上看了挺多题解的,但觉得有些没写清楚,所以写了一篇自己的理解…首先用回文树将所有本质不同的回文串求出来。然后加上fail数组的边,回文树就变成一颗树,且每一个节点都有一条回边的‘图’。问题就变成了找图中有多少对可达点?如果放在一般图中这个问题是不好求的,但由于...

2019-09-09 21:01:03 141

原创 2019 ICPC Universidad Nacional de Colombia Programming Contest(D Do Not Try This Problem)

题目链接题意: 给出一个长度为1e5字符串,有1e5个操作,每次操作将首先为i,公差为a,项数为k+1(0~k)的等差数列的位置上的字符变成字符c,问最后的字符串是什么样子。题解:首先靠后的修改比靠前的修改的优先级高,所以我们离线将修改操作倒过来跑。每次修改过一个位置后,我们就将这个位置删除,这样保证我们之后的操作不会对这个位置重复修改。如何删除一个位置?可以用并查集来做,记录fa[i]f...

2019-09-02 16:01:00 599

原创 2019 ICPC Universidad Nacional de Colombia Programming Contest (C Common Subsequence)

题目链接题意:给你两个只有ATCG组成的等长字符串,问他们的LCS(最长公共子序列)是否大于|s|*0.99。题解:刚开始想到的是字符串只有ATCG,仅仅四个,会不会有什么性质。然后赛后发现做出这题不用这个性质。=. =||我们可以发现,要想LCS>99%,我们最多在每个串上可以舍弃1e5*0.01也就是1000个字符。那我们设 dp[i][j]dp[i][j]dp[i][j]为...

2019-09-01 22:00:13 304

原创 SOSdp配套习题

SPECIAL PAIRS题意:给你一个(N<=1e5)的序列,问有多少对(i,j)使得 a[i]&a[j] 为0。题解:a[i] &a[j]==0表示a[j]在a[i]的补集内,即a[j]⊂\subset⊂(U^a[i])。套套板子就可以了。Vowels题意:给你(n<1e4)个长度为3的字符串,仅由‘a’~'x’组成。你要回答‘a’ ~‘x’组成的所有...

2019-08-28 19:53:04 347

原创 SOS(Sum over Subsets)dp————一类状态压缩动态规划

之前补cf场时做到这道题,发现一点思路也没有?然后看了题解发现这是一类codeforces上考烂了的dp专题。所以花了一天时间补了一下。codeforces上的原博客SOSdp是一类计算子集贡献的状压dp,如果x&y==x,则我们称y是x的子集(可能不太标准),例如5(101)的子集有4(100)、1 (001)、0。而我们要求的就是 F[mask]=∑i⊂maskA[i]F[mas...

2019-08-28 19:35:02 668

原创 2019牛客多校第4场b题xor-线性基求交

题目链接题意:求区间线性基的交,然后判断是否能异或出x线性基求交的板子暂时不理解,先当个板子记了~回来有空再看看#include<bits/stdc++.h>#define lc o*2#define rc o*2+1#define ll long longusing namespace std;const int maxn = 50005;const int ...

2019-08-22 11:29:41 153

原创 cf1204E - Natasha, Sasha and the Prefix Sums

题目链接题意:由n个1和m个-1的构成所有序列中,Σf(前缀和最大值)是多少。如果当前序列的前缀和最大值小于0,则认为是0.(n,m<=2000,最后结果对998244853取模)题解:首先看数据量明显是个二维的dp问题,dp[i][j] 表示答案,那么如何转移呢?首先若求出dp[i-1][j] 的答案,那么往前面加上一个1就相当于将dp[i-1][j]的所有序列的贡献都加上了1,所...

2019-08-21 20:35:01 194

原创 hdu6579(2019多校)Operation

线性基与这道题是一样的思路,只是改成了强制在线,这样解题的思路只能是预处理来做了。#include<bits/stdc++.h>#define ll long longusing namespace std;const int maxn = 5e5+5;int T;int n,m;int a[maxn];int r[2*maxn][35],b[2*maxn][35];...

2019-07-27 11:01:57 155

原创 codeforces1100 F. Ivan and Burgers(线性基)

cf1100f 线性基题目链接题意:给一个(n<=5e5)的序列,有(q<=5e5)次询问,每次询问一段【l,r】区间内选一些数出来能构成的最大xor值是多少。题解:首先选一些数使得他们的异或值最大,线性基的基本操作。(不会就看这篇大佬的博客)。那么如何处理多个区间查询操作呢。最直接的想法就是用个数据结构来为维护,比如线段树每个节点维护一个区间的线性基,那么两个线性基的合并时...

2019-07-25 18:11:00 147

原创 codeforces #556(div1)

B. Three Religionsdp题意:给一个主串和3个子串,每次可以在一个串后面增加或者删除一个字符。问3个串与主串的相同子序列是否可以不交叉。首先不考虑加入或者删除,那么用dp[i][j][k]表示3个子串分别匹配到第i , j , k位置在主串最小位置在哪。然后用个nxt[i][26]表示主串每个位置且后面填’a’-‘z’会跳到主串的哪个位置,预处理倒着扫一遍就可以了。这样可以O...

2019-05-04 10:27:10 200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除