洛谷 P4570 BZOJ 2460 [BJWC2011]元素】的更多相关文章

Time limit 20000 ms Memory limit 131072 kB OS Linux 解题思路 看题解可知 我们将矿石按照魔法值降序排序,然后依次将矿石编号放入线性基(突然想起线代里某个叫施密特正交化的东西--)以判断是否会和之前已经使用的矿石发生魔法抵消(线性基还是有点懵--),如果不会抵消,就贪心地选上. 关于这题贪心正确性的证明,我查到的有以下几种 拟阵(留坑) bzoj2460题解 [抄书]贪心策略的理论基础--拟阵 2007年集训队论文 刘雨辰 <对拟阵的初步研究>…
题目链接: 洛谷 BZOJ 题意 给定 \(n\) 个矿石,每个矿石有编号和魔力值两种属性,选择一些矿石,使得魔力值最大且编号的异或和不为 0. 思路 线性基 贪心 根据矿石的魔力值从大到小排序. 线性基的所有异或和都不为零.因此维护一个线性基,每次插入编号 \(i\),如果 \(i\) 与之前的线性基都线性无关,也就是能插入,就插入并将魔力值累加到 \(ans\). #include <bits/stdc++.h> using namespace std; typedef long long…
题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求$\sum_1^Kc_i^2$的值,其中$c_i$表示数字i在[L..R]中的重复次数.小B请你帮助他回答询问. 输入输出格式 输入格式: 第一行,三个整数N.M.K. 第二行,N个整数,表示小B的序列. 接下来的M行,每行两个整数L.R. 输出格式: M行,每行一个整数,其中第i行的整数表示第i个询问的答案. 输入输出样例 输入样例#1: 6 4 3 1 3 2 1 1 3 1 4 2 6…
//洛谷题面字体.排版我向来喜欢,却还没收录这道如此有名的题,BZOJ的题面字体太那啥啦,清橙的题面有了缩进,小标题却和正文字体一致,找个好看的题面咋这么难呐………… //2019年3月23日23:07:06  洛谷把这题放在了P1494的位置.我以前做的不少水题都被删了的说(洛谷的难度标识太吓人了,当年看见不少题都是因为标称难度不敢做的.大学acm时抛开这个大包袱,看着那些题也不难) 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再…
题目描述 iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世界的世界本原有了很多的了解:众所周知,世界是由元素构成的:元素与元素之间可以互相转换:能量守恒……. 能量守恒……iPig 今天就在进行一个麻烦的测验.iPig 在之前的学习中已经知道了很多种元素,并学会了可以转化这些元素的魔法,每种魔法需要消耗 iPig 一定的能量.作为 PKU 的顶尖学猪,让 iPig 用最少的能量完成从一种元素转换到另一种元素……等等,i…
一道技巧性非常强的计数题,历年WC出得最好(同时可能是比较简单)的题目之一. 题目传送门:洛谷P5206. 题意简述: 给定 \(n, y\). 一张图有 \(|V| = n\) 个点.对于两棵树 \(T_1=G(V, E_1)\) 和 \(T_2=G(V, E_2)\),定义这两棵树的权值 \(F(E_1, E_2)\) 为 \(y\) 的 \(G'=(V,E_1\cap E_2)\) 的联通块个数次方. 即 \(F(E_1, E_2) = y^{n - |E_1\cap E_2|}\)(因为…
题目传送门:洛谷 P4128. 计数好题,原来是 13 年前就出现了经典套路啊.这题在当年应该很难吧. 题意简述: \(n\) 个点的完全图,点没有颜色,边有 \(m\) 种颜色,问本质不同的图的数量对质数 \(p>n\) 取模. 本质不同指的是在点的 \(n!\) 种不同置换下不同. 题解: 首先有 \(\mathrm{P\acute{o}lya}\) 定理:一类元素在一个置换群的作用下本质不同的元素(不同等价类)个数等于 \(\frac{1}{|G|}\sum_{g\in G}M(g)\).…
题目传送门:洛谷P3307.这题在bzoj上是权限题. 题意简述: 这题分为两个部分: ① 有一些珠子,每个珠子可以看成一个无序三元组.三元组要满足三个数都在$1$到$m$之间,并且三个数互质,两个珠子不同当且仅当这个三元组不同.计算有多少种不同的珠子. ② 把这些珠子串成一个环,要满足相邻的珠子不同.两个环不同当且仅当旋转任意角度后仍然不同.计算有多少种不同的环. 题解: 分成两部分做. 第一部分: 考虑计算三元组的个数,转无序为有序,再去重. 答案=(三个都不同的有序三元组方案)/6+(两个…
题目:https://www.luogu.org/problemnew/show/P4106 https://www.lydsy.com/JudgeOnline/problem.php?id=3614 可以先把给出的东西排序成这样: -1 -1 -1 -1 -1  1 -1  1 -1 -1  1  1 1 -1 -1 1 -1  1 1  1 -1 1  1  1 就是后面看成低位.前面看成高位,1看成1.-1看成0的二进制的顺序. 发现把第1行和第2行相加再除以2,得到的就是与 x3 无关的…
题目链接 洛谷 bzoj 题解 整体二分 Code #include<bits/stdc++.h> #define LL long long #define RG register using namespace std; inline int gi() { RG int x = 0; RG char c = getchar(); bool f = 0; while (c != '-' && (c < '0' || c > '9')) c = getchar();…