A类——Dima and a Bad XOR】的更多相关文章

http://codeforces.com/contest/1151/problem/B 题意: 给一个矩阵,只要找到每一列的任意一个异或和大于0,就找到解并返回,输出TAK和位置,没找到就输出NIE 题解: 先找到每一列第一个异或和 ,如果为零就只要一旦找到有一个数异或不为零就输出TAK和位置. #include<iostream> #include<algorithm> using namespace std; int main(){ ][]; cin>>n>…
题目链接:http://codeforces.com/contest/1151/problem/B 题目大意: 给定一个n*m的矩阵,里面存放的是自然数,要求在每一行中选一个数,把他们异或起来后结果大于0,如果存在一种方案,就把每行所选数的列号输出. 分析: 我们只关注这些数的第i位二进制位,如果存在某一行比如说第k行,这一行中有第i位二进制位为1的数,也有第i位二进制位为0的数,那么可以说,这一行是决定性的行,无论其他行怎么选择,这一行只要根据其他行异或的结果,变通地选择第i位二进制位为0或1…
题意: 给出一个矩阵n(<=500)*m(<=500)每一行任选一个数 异或在一起 求一个 异或在一起不为0 的每行的取值列号 思路: 异或的性质  交换律 x1^x2^x3==x3^x2^x1 可以任意换位置  并且 x1^x2==x3^x4  等于 x1^x2^x3==x4 可以任意换位置 所以等于零时有  x1^x2^x3^x4==0  (x1^x2)^(x3^x4)==0  x1^x2==x3^x4 都可以任意结合 所以本题只要任意选择列  如果为0  就每一列 找与已选择的列不一样的…
题面: 传送门 题目描述: 题意很简单:在一个N*M的矩阵中(N行M列),问是否可以:每行选一个整数,使他们的异或和大于0.如果不可以,输出"NIE":如果可以,输出"TAK",并输出选择的整数.   题目分析: 这道题刚开始想直接暴力,但看到复杂度竟然是O(500^500),就怂了.到后面仔细观察,发现题目有个数据:每个数小于1024,也就是2^10次方.会不会跟数位有关?后面分析了一下,果然是,但没时间做了,不过结束后还是A出来了.   异或(求大佬无视):转化…
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特征. 继承 如果用.Net写一个A类继承B类的话,写法会是大致如下: Public Class A : B{ ....... } Java的话却要通过extends关键字在声明类的时候指定其父类(基类),所以上面的.Net写法要转换成Java的话应该是下面的样子: Public clas A ext…
CodeForces1151 Maxim and Biology 解析: 题目大意 每次可以使原串中的一个字符\(+1/-1\),\(Z + 1\to A, A -1\to Z\),求至少修改多少次可以使 ACTG 是原串的子串 \(4\le |S|\le 50\) 思路: 直接暴力尝试每个子串. code #include <bits/stdc++.h> const int N = 50 + 10; const int INF = 0x3f3f3f3f; using namespace st…
传送门 A. Maxim and Biology 题意: 给出一个串s,问最少需要多少步操作使得串s包含"ACTG"这个子串,输出最少操作次数: 题解: 枚举每个位置 i,求出将 i,i+1,i+2,i+3 变为 "ACTG" 所需的最少操作次数即可: AC代码: #include<bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define ll long long #define…
这里是一些我SB没做出来的CF水题. 其实这些题思维量还不错,所以写在这里常来看看…… 不一定每题代码都会写. CF1143C Queen 其实只要注意到如果一个点开始能被删,那一直就能被删:一个点开始不能被删,那一直就不能被删就行了.然而…… CF1151B Dima and a Bad XOR 以为是个什么很难的构造题…… 先考虑 $c_i=1$,也就是全选第一列.如果可以就可以. 否则如果每行上的数全都相等,那么无论如何改变 $c_i$ 都不行,输出无解. 否则随便改一个数改成不同的即可,…
昨晚深夜修仙上紫记,虽然不错还是很有遗憾的. A. Maxim and Biology 看完就会做的题,然而手速跟不上 #include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std; typedef long long LL; const in…
C. Party Lemonade 这个题目是贪心,开始我以为是背包,不过也不太好背包,因为这个L都已经是1e9了. 这个题目怎么贪心呢?它是因为这里有一个二倍的关系,所以说val[i]=val[i-1]*2 所以利用这个关系,我们可以求出每一个体积的最小的花费. 这个处理完之后,我们就可以开始处理题目中的L了. 这个L,从高位开始枚举,先求出L个中最多并且要小于等于这个最大值可以用的这个物品的数量,然后如果是小于,那么再多选一次,这样肯定会超出体积, 不过这样就保证了大于等于L. 对于下面一个…