zoukankan      html  css  js  c++  java
  • 题解 P2447 【[SDOI2010]外星千足虫】

    题目链接

    Solution [SDOI2010]外星千足虫

    题目大意:给定形如(sum a_ix_i equiv m (mod;2))的方程组,求解所有(x ; mod;2)的值

    高斯消元


    分析:在模(2)意义下的运算实际上就是异或,所以这题就是高斯消元求解异或方程组的板子题

    有不同之处就是要输出最少前多少个方程可以求解,这个在消元过程中从每个主元选取的行编号中取最大值即可

    #include <iostream>
    #include <string>
    #include <bitset>
    using namespace std;
    const int maxn = 1024;
    bitset<maxn> val[maxn << 1];
    string a,b;
    int n,m,ans;
    int main(){
    	ios::sync_with_stdio(false);
    	cin >> n >> m;
    	for(int i = 1;i <= m;i++)
    		cin >> a >> b,val[i] = bitset<maxn>(a + b);
    	for(int i = 1;i <= n;i++){
    		int r = i;
    		while(r <= m && !val[r][i])r++;
    		if(r == m + 1){
    			cout << "Cannot Determine
    ";
    			return 0;
    		}
    		ans = max(ans,r);
    		swap(val[i],val[r]);	
    		for(int k = 1;k <= m;k++)
    			if(k != i && val[k][i])val[k] ^= val[i];
    	}
    	cout << ans << '
    ';
    	for(int i = n;i >= 1;i--)
    		cout << (val[i][0] ? "?y7M#" : "Earth") << '
    ';
    	return 0;
    }
    
  • 相关阅读:
    models F Q查询
    Django models 多对多 操作
    Cookies与session的区别
    Form表单验证
    图片上传
    Django进阶
    sql 单个字段去重查询 distinc 和 group by的效率问题
    Django知识点整理
    Web应用请求和响应 HTTP相关
    Django中的几种重定向方式
  • 原文地址:https://www.cnblogs.com/colazcy/p/11714952.html
Copyright © 2011-2022 走看看