SRM 600(1-250pt,500pt)】的更多相关文章

DIV1 250pt 题意:给定一个vector<int>A,若能从里面选出一些数,使得他们按位或的值为x,则称x为吉利数.给定k,问最少要从A里面去掉多少个数,才能使k变为不吉利数. 解法:按位考虑.如果A中某元素A[i],将A[i]和k转化成二进制形式,如果某一位A[i]为1而k的为0,则一定不选选取掉A[i],把所有这样的A[i]全部从A中删掉.然后,维护ans,枚举所有k二进制为1的位,计A中有t个元素该位为1,则ans = min(ans, t). A.size() <= 50…
A 按位讨论,取最小值; B 数据范围不大,首先要确定枚举角度; 状压枚举palindromes的列比较科学; 列确定后,目标就是求获得rcnt行的最小代价: dp[i][cnt]表示扫描到第i行,已经有cnt个满足要求的最小代价; 根据对称性,只要扫描n/2行,而从第i行获得j个增益的代价cost[i][j],可以另外处理: 当考虑cost[i][j]时,根据对称性,实际是考虑2行(i,n-i),从这2行获得增益的情况只有3种:0,1,2, 然后,讨论每种情况下的代价: 0, 只需保证列满足要…
problem1 link 首先,如果一个数字的某一位是1但是$goal$的这一位不是1,那么这个数字是不用管它的.那么对于剩下的数字,只需要统计在$goal$为1的位上,这些数字对应位上也是1的数字个数.所有这样的位取最小值即可.这些数字就是要都被删除的. problem2 link 首先暴力枚举哪些行是最后回文的行.然后对于列来说,将其对称折叠成$\frac{m}{2}$列,每一列可以选择0.1.2个,最后选出$columnCount$列.这个可以动态规划. problem3 link 考虑…
题意:给你50个数,问你最少去掉多少数能使得剩下的数不可能具备子集S,OR起来为goal 如果一个数不是goal的子状态,那么我们没必要删除他,所以我们只关心goal的子状态的数 1:如果所有的数OR起来都没有到达goal,那么就是0 2:每个数都会贡献一些位,去掉1的个数最少的那一位就好了 #include <bits/stdc++.h> using namespace std; class ORSolitaireDiv2 { public: int getMinimum(vector &l…
  贪心+枚举 #include <bits/stdc++.h> using namespace std; class TheShuttles { public: int getLeastCost( vector <int> cnt, int baseCost, int seatCost ); }; int Maxn1,MAXN1; int TheShuttles::getLeastCost(vector <int> cnt, int baseCost, int sea…
日常TC计划正式启动! Easy(250pts): 题目大意:给你一个集合,里面一堆数,初始数为0,给你一个目标数,你可以选择集合中若干个数进行OR操作来得到目标数.问至少删去多少个数,使得你永远无法达成目标,保证集合最多50个数,每个数<=10^9,且集合中的数两两互不相同. 显然我们要按照每个数的二进制位来考虑,由于所有的数<=10^9,所以最多只有30个二进制位. 如果集合中的一个数,存在某一位使得这个数为1,但是目标数为0,那么这个数一定不能取. (因为如果取了,那么当前的数这一位就变…
SRM 144 DIV 1 500pt tag:组合 题意:彩票中奖.给定n, m,从1-n中选择m个数组成数列a1, a2, a3...am.对于数列{am}分别满足以下条件的概率: (1)数列所有元素不相同且非严格递增: (2)数列元素可以相同,可以递减: (3)数列元素不相同,可以递减: (4)数列元素可以相同,且非严格递增. 解法:所有四种情况均可以用排列组合公式直接解决,要用大数.最难的是最后一种情况,我也是最后一种情况公式写错了. 并且,最后一种情况公式的推导过程也可以看一看官方题解…
SRM 475 DIV1 300pt 题意:玩游戏.给一个棋盘,它有1×n(1行n列,每列标号分别为0,1,2..n-1)的格子,每个格子里面可以放一个棋子,并且给定一个只含三个字母WBR,长度为n的字符串,代表每个格子的颜色.在游戏开始时,r个棋子随机摆放在这n个格子里(每个棋子摆在每个格子里的概率相同),问游戏结束时,这些格子里所剩棋子数的期望.游戏的规则为(记这个棋盘的列数为size): 1.如果棋子在0格,则向右移动一格: 2.如果棋子在size-1或size-2格,则向左移动一格: 3…
SRM 468 DIV1 250pt 题意:给出字典,按照一定要求进行查找. 解法:模拟题,暴力即可. tag:water score: 0.... 这是第一次AC的代码: /* * Author: plum rain * score : 0 */ #line 11 "T9.cpp" #include <sstream> #include <stdexcept> #include <functional> #include <iomanip&g…
SRM 470 DIV1 250pt 题意:有n个房间排成一排,相邻两个房间之间有一扇关闭着的门(共n-1扇),每个门上都标有‘A’-‘P’的大写字母.给定一个数n,表示第n个房间.有两个人John和Gogo,两人轮流按下面的规则选择一个大写字母(‘A’-‘P’),每选择一次字母,标有该字母的门就打开了. 某次选择之后:若所有门全部打开,则平手游戏结束,输出0:n房间之前的门全部打开,则John胜游戏结束,输出两人总共选择了的颜色的数量:n房间后的门全部打开,则Gogo胜游戏结束,输出-1 ×…