线性基
OI界第一麻瓜
入门菜鸟
展开
-
2844: albus就是要第一个出场
2844: albus就是要第一个出场Time Limit: 6 Sec Memory Limit: 128 MBSubmit: 1458 Solved: 614[Submit][Status][Discuss]Description已知一个长度为n的正整数序列A(下标从1开始), 令 S = { x | 1 集构成的集合。定义映射 f : 2^S -> Zf(空集原创 2017-07-13 16:48:24 · 342 阅读 · 0 评论 -
Codeforces Round #448 (Div. 2) C. Square Subsets
前言今天做题的时候,觉得自己的线性基很假。。 于是重新学了一下。。资料线性基题解这题的话,考虑到如果质数个数是偶数,就是完全平方数 一个DP比较简单。。 但是我们考虑线性基 在这个序列里面,我们选择的子集,如果为0,那么数量是2cnt2cnt2^{cnt} cnt是不在基里面的个数 因为基里面的数都是线性无关的CODE:#include<cst...原创 2018-03-08 21:17:17 · 163 阅读 · 0 评论 -
bzoj 4184: shallot
题意每一次假如或者删除一个数 问当前集合中的亦或最大值题解对于时间建一个线段树 然后对于每一个数,得到一个存在的区间 线段树维护一下就可以了 每一个时刻的线性基就是从根到叶子的路径CODE:#include<cstdio>#include<algorithm>#include<iostream>#include<cst...原创 2018-02-14 18:02:19 · 279 阅读 · 0 评论 -
2115: [Wc2011] Xor
Upd2018.2.3这题的话,显然地,答案就是随便选择一个路径,然后可以用图上所有的环 问题是怎么找出全部的环 先随便建立一个生成树,然后如果有返祖边就是一个环 但是这样并不可以找出所有的环,我以前就理解错了QAQ,也没有认真思考 至于剩下的环,一般就是环套环的话,里面有的环会找不到 但是这种环可以通过两个环xor起来得到 所以我们最后在线性基里面寻找答案的同时,也是在寻找最后的原创 2017-07-13 11:03:37 · 196 阅读 · 0 评论 -
bzoj 4004
大概写一下吧。。其实主要判断的思路就是一个高斯消元你每放一个数进去就消一下接着维护一个类似于线性基的东西然后这题要卡精度,开long double和1e-6就好了。。code: #include<cstdio>#include<algorithm>#include<iostream>#include<cstring>...原创 2017-07-14 11:06:34 · 279 阅读 · 0 评论 -
4568: [Scoi2016]幸运数字
又是一道线性基的题目。。我们只需要对这棵树维护一个倍增的线性基就可以了,方法类似于LCA的求法至于怎么合并两个线性基,我们只需要将两个基的全部数字拿出来,然后在重新插进去一个新的基就可以了注意细节。。我一开始因为数组开小了还WA了一发。。code:#include#include#define swap(x,y) {LL tt=x;x=y;y=tt;}typedef原创 2017-07-14 09:58:08 · 361 阅读 · 0 评论 -
2460: [BeiJing2011]元素 有关线性基的理解
题意比较简单吧,就是要你求一对魔法石的集合,并且这些东西都是线性无关的,要是集合的魔力值总和最大总的来说就是一个线性基模板题。。我们先将他排序,接着贪心地插入就好了,正确性可以类比于最小生成树,匈牙利等算法,毕竟这也是一个有可以互相推倒性质的东西有关线性基,我可以感性地认识一下,但你要我十分理性地讲解,估计还不能很好地讲出。。说一下我学习的时候的当时没有理解原创 2017-07-13 10:10:11 · 400 阅读 · 0 评论 -
3105: [cqoi2013]新Nim游戏
这题就贪心啊 根据Nim游戏的规则,作为一个先手,我们留给对方的东西,一定不可以有一个组合,使得他们的异或值为0 知道了这个就很好办了,我们想排序,接着对于每一堆,要是他可以通过之前已有的基异或出来,那么我们肯定要把它拿掉。 最后统计一下答案就好了。然后这题肯定是没有-1的情况的,至少有一个必胜策略: 假设现在有n堆 作为先手,我们直接拿n-1堆,剩下一堆 根据规则,前两回合不能拿完,于原创 2017-07-13 11:48:01 · 260 阅读 · 0 评论 -
Hdu 3949
这题算是一道经典的模板题方法的话看代码很容易看出在干什么至于为什么我在这里瞎吹一下: 首先,通过我的prepare函数,我们可以保证基的每一位都最多只有一个1 我们从以下xor的性质可以得到,只要是基里面,无论怎么改都是一个合法的基 所以最后我们的基还是合法的 于是问题就变成了一个十分简单的配对问题 我们知道在倒三角每往上多配对一个,值肯定会变大 于是就可以确定大小了 接着我们在将k变原创 2017-07-13 16:13:53 · 381 阅读 · 0 评论 -
Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) G. Xor-matic Number of the Graph
题意自己看题解和之前WC的xor差不多。。 对于每一个联通块,建立出dfs树 然后把环扔到线性基里面 然后对于每一位进行考虑就可以了。。 套路真的是一样的! 那一题的随便找一条路径,就是这里dfs树上的路径就好了 然后组合数算一算就可以了 又一次讲得不清不楚 CODE:#include<cstdio>#include<algorithm>...原创 2018-06-21 13:48:34 · 239 阅读 · 0 评论