P4869 罪犯分组】的更多相关文章

思路: 明显的dp,虽然我想到了二进制模拟,想到了转移,但还是先看了题解,原来真是这样,,,,不是第三题吗? 用f[i]表示,对于前i个罪犯最少需要分几组. 对于每个状态用二进制表示,第i位上1,0表示该集合中是否包含i罪犯. 转移时,枚举中间节点,把f[i]看成所有f[j]+f[i^j]的最小值.(即两个最小的互补子集的和) 咳咳,有人问我为什么是^抑或,因为U=A^B,U^A=B,U^B=A.(U是全集,A,B是子集) #include<iostream> #include<queu…
看数据范围,果断状压.真是比愤怒的小鸟还智障..... #include<bits/stdc++.h> using namespace std; #define MAXN 500000+10 const int INF=0xffffff; ]; ,cnt[MAXN],ex[],st[MAXN],dp[MAXN]; int main(){ scanf("%d%d%d",&n,&m,&k); mx=(<<n)-; ;i<=m;i++){…
分析:看了题后没别的思路,感觉就是dp,普通dp的话状态和方程实在是不好设计,观察数据,发现N非常小,暗示了这道题要用状压dp来做. 先枚举每个集合,再用O(n^2)的暴力看这个集合内有多少个冲突,如果冲突数量不大于k,那么就可以分成1个集合了,否则一定要分成多个集合,那么枚举它的子集j,状态转移方程就出来了:f[i] = min{f[j] + f[i ^ j]} j是i的子集. 以后没思路要多往dp上面去想,还要注意看数据范围,有一个值特别小就很有可能是状压dp. #include <cstd…
快考试了,把我以前写过的题回顾一下.Noip2007 树网的核:floyd,推出性质,暴力.Noip2008 笨小猴:模拟Noip2008 火柴棒等式:枚举Noip2008 传纸条:棋盘dpNoip2008 双栈排序:将复杂条件转化为简单约束,二分图染色判断可行性,模拟.Noi2010 能量采集:常见套路,求:ΣΣgcd(i,j),设t = gcd(i,j),能算出gcd=t的点对有(n/t) * (m/t)个,然后利用容斥原理减去2t,3t,……,kt的,倒序枚举.Noip2009 潜伏者:模…
NOIP2017金秋冲刺训练营杯联赛模拟大奖赛第一轮Day2 期望得分:100+100+ =200+ 实际得分:100+40+70=210 T1天天寄快递 直接模拟,代码丢了...... T2天天和不可描述 splay可A 正解dfs+list #include<iostream> #include<list> #include<cstdio> using namespace std; list<char>s; char c; void getstr(boo…
[题解在下面] 早上5:50,Gekoo同学来到机房并表态:“打暴力,打暴力就对了,打出来我就赢了.” 我:深以为然. (这是个伏笔) 据说hzoi的人还差两次考试[现在是一次了]就要重新分配机房,不知道我们几个的安排是什么样的,瑟瑟发抖.各种原因作用,心情有些微妙地一遍瞎画一边等着7:10考试开始. 不怎么适合涂鸦的本,不怎么适合涂鸦的笔,不怎么适合涂鸦的心情.考试开始,我摔笔看题. T1上来感觉东西很多很麻烦,过了一遍题发现大概要耐下心来去仔细推一推性质,于是没细想先跳过.然后看T2,受到上…
2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别讨论: k=1:根据人类直觉,不难想到一种贪心策略:从前往后扫,若扫到的数能加入当前这段就加入,否则再开一段新的. 于是你就WA了... 题目要求字典序最小,而我们的策略会让当前段尽可能长,所以划分点会靠后.例如:1 2 3 4 5,可以分为{1},{2,3,4},{5}三段,而我们的策略得到的答案…
这次考试还是挺好的 毕竟第一题被我给A了,也怪这题太简单,规律一眼就看出来了,但是除了第一题,剩下的我只有30pts,还是菜 第二题不知道为啥我就直接干到树套树了,线段树套上一个权值线段树,然后我发现自己跑得特别慢, 然后就手打了一个超级大暴力,然后就很懵逼的发现,我的暴力比我树套树还快十倍 我就很生气,回去算了一遍复杂度,没错是nlog2n,然后我就怀疑自己打假了,直接把自己的暴力程序交上去了 然后成功的30分,然后就人傻了,然后我发现,其实我树套树有35pts,但是正解是二分/主席书/颜色权…
如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore]的结构 code      学号 char subject  科目 int score     成绩 int 可以这样写: SELECT [code]        ,[subject]        ,[score]    FROM (        SELECT *        ,RANK(…
题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用"怨气值"(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多.如果两名怨气值为c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c 的冲突事件. 每年年末,警察局会将本年内监狱中的所有冲突事件按影响力从大到小排成一个列表,然后上报到S 城Z 市长那里.公务繁忙的Z 市长只…