Poj--1681(数学,高斯消元)

2014-09-17 00:29:08

思路:和poj1222很像,建立n×n个方程,高斯消元即可,注意还要判断无解的情况。(一开始不会判无解Wrong了一发,QAQ)

 1 /*************************************************************************
 2 
 3     > File Name: 1681.cpp
 4     > Author: Nature
 5     > Mail: 564374850@qq.com 
 6     > Created Time: Tue 16 Sep 2014 05:35:36 PM CST
 7 ************************************************************************/
 8 
 9 #include <cstdio>
10 #include <cstring>
11 #include <cstdlib>
12 #include <cmath>
13 #include <vector>
14 #include <queue>
15 #include <iostream>
16 #include <algorithm>
17 using namespace std;
18 typedef long long ll;
19 const int INF = 1 << 29;
20 typedef int Matrix[300][300];
21 
22 int t,n,top;
23 Matrix A;
24 
25 int Gauss(){
26     int equ,var,col = 0,i,j,k,r;
27     equ = var = top;
28     for(i = 0; i < equ && col < var; ++i,++col){
29         r = i;
30         for(j = i + 1; j < equ; ++j) if(A[j][col]){
31             r = j;
32             break;
33         }
34         if(r != i)
35             for(j = col; j <= var; ++j) swap(A[i][j],A[r][j]);
36         if(A[i][col] == 0){
37             --i;
38             continue;
39         }
40         for(k = i + 1; k < equ; ++k){
41             if(A[k][col]){
42                 for(j = 0; j <= var; ++j)
43                     A[k][j] ^= A[i][j];
44             }
45         }
46     }
47     for(; i < equ; ++i){
48         if(A[i][col] != 0)
49             return 0;
50     }
51     for(i = equ - 1; i >= 0; --i){
52         for(j = i + 1; j < equ; ++j)
53             A[i][var] ^= (A[i][j] && A[j][var]);
54     }
55     return 1;
56 }
57 
58 void Init(){
59     memset(A,0,sizeof(A));
60     for(int i = 0; i < top; ++i){
61         A[i][i] = 1;
62         if(i >= n) A[i][i - n] = 1; //up
63         if(i + n < top) A[i][i + n] = 1; //down
64         if(i % n != 0) A[i][i - 1] = 1; //left
65         if((i + 1) % n != 0) A[i][i + 1] = 1; //right
66     }
67 }
68 
69 int main(){
70     char str[20];
71     scanf("%d",&t);
72     while(t--){
73         scanf("%d",&n);
74         top = n*n;
75         Init();
76         for(int i = 0; i < n; ++i){
77             scanf("%s",str);
78             for(int j = 0; j < n; ++j)
79                 A[i*n + j][top] = (str[j] == 'y' ? 0 : 1);
80         }
81         if(Gauss()){
82             int cnt = 0;
83             for(int i = 0; i < top; ++i) if(A[i][top]) ++cnt;
84             printf("%d\n",cnt);
85         }
86         else printf("inf\n");
87     }
88     return 0;
89 }

 

转载于:https://www.cnblogs.com/naturepengchen/articles/3976160.html

PCL学习笔记(四)——点云曲面重建 文章目录一、凸包算法二、 单纯的点云数据固然很好,但仅仅是点的话仍是不够的,因为这不利于我们后续对实体对象的渲染与各种应用,如计算实体的表面积、体积等等,所以这就需要我们对实体进行点云的曲面重建。 一、凸包算法 在计算机图形学中,凸包是指在任意维空间中包含某一有限点集P的最小凸集,它由凸包顶点构成,在二维上其表现形式为一个凸多边形,而在三维上则表现为一个凸多面体。在二维层面上来讲,最常用的凸包算法有Graham扫描法和Jarvis卷包裹法,但前者并不适用于三维层面,后者倒是可以扩展到三维。除此之外,在 阅读详情

相关推荐

从CAD到Web:高效转换STEP/IGES模型为GLB格式的实践指南

本文详细介绍了如何将工业设计中的STEP/IGES模型高效转换为Web友好的GLB格式。通过PythonOCC和gltf-pipeline等工具链,实现从CAD到Web的无缝转换,大幅提升模型加载速度和展示效果。文章包含实战案例、优化技巧和常见问题解决方案,帮助开发者快速掌握3D模型转换技术。

weixin_29072299的博客 507

POJ1681(异或方程组之dfs自由元状态找最优解)

题目:POJ 1681 Painter's Problem   题目大意:类似于POJ 1222,就是把开关灯变成了涂颜色。给你一个带颜色的矩阵,颜色只可能是白色或者黄色。涂一个块他的相邻的块都会改变颜色(上下左右的块),问最少多少步能把这个矩阵涂成黄色。   解题思路:这是一类问题,前面处理类似于POJ 1222,就是用异或方程组表状态,而后高斯消元,但是这个异或方程组用高斯消元后得到的未必

m0_37772713的博客 742

pgsql行列转换

‌是PostgreSQL中的一个函数,用于将一个字符串根据正则表达式进行分割,并将结果返回为一个表格,每个分割后的部分作为一行‌‌。string_agg() 函数是 PostgreSQL 中的一个聚合函数,用于将一个列中的值连接成一个字符串。

chimchim66的博客 3501

poj1681-Painter's-Problem ( 高斯消元)

题目链锁 : http://poj.org/problem?id=1681 #include #include #include #include #include #include #include #include #include #include using namespace std; #define inf 0x3f3f3f3f #define eps

To_c_t_w 381

Synopsys安装教程Ubuntu22.04版本

在Ubuntu22版本上安装Synopsys等系列工具,安装DC,VCS等等

qq_59529218的博客 5723

【项目案例】前后端分离项目 【Web图书管理系统 】SpringBoot + Vue + Element UI + Mysql

Web图书管理系统

激流丶的博客 5396

poj 1681 Painter's Problem (高斯消元 )

http://poj.org/problem?id=1681题意“:一个n*n 的木板 ,每个格子 都 可以 染成 白色和黄色,( 一旦我们对也个格子染色 ,他的上下左右 都将改变颜色);给定一个初始状态 , 求将 所有的 格子 染成黄色 最少需要染几次? 若 不能 染成 输出 inf。题解:和1222开关 问题一样,只不过是 将 开关 换成了 染色。E(a) = xa*A11 ^ xb*...

weixin_30808575的博客 89

YOLOv12改进策略【卷积层】| CVPR-2020 利用DynamicConv 动态卷积 结合A2C2f进行二次创新,提高精度

在大规模视觉预训练中,通常模型的性能受到数据、参数和FLOP三个关键因素的影响。一般来说,模型的参数数量越多,FLOP也越高,但在移动设备等对计算资源有限制的场景下,需要低FLOP的模型同时又希望模型能从大规模预训练中受益。传统的方法很难在增加参数的同时保持低FLOP,因此需要一种新的设计来解决这个问题,模块应运而生。

Limiiiing的博客 827

POJ 1681 Painter's Problem (高斯消元)

题目地址:POJ 1681 跟前两题几乎一模一样的。。。不多说了。高斯消元+自由元枚举。 代码如下: #include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define pi acos(

scf0920 1077

从数据读取到业务事件:理解 ABAP CDS 视图的目的与选型(含 RAP、扩展与分析场景)

CDS视图在SAP S/4HANA中不仅是数据查询工具,更是语义模型和运行时能力的载体。它通过分层架构(基础视图、组合视图、消费视图等)实现数据复用与场景适配,支持UI、分析、事务处理等多样化消费。视图类型包括提供数据访问的接口视图(I_前缀)、消费视图(C_前缀)和事务视图,以及不提供数据访问的扩展视图。这种分层设计确保了数据模型的稳定性与扩展性,同时支持自定义字段和上下文感知分析。正确理解CDS视图的用途和分层规则,能帮助开发者构建更健壮、可维护的SAP应用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 302

# YOLOv11-seg改进系列 | 引入CVPR MetaFormer的C3k2_PoolingFormerCGLU模块,池化Token混合+CGLU门控MLP

本文引入 CVPR 2022 论文(MetaFormer/PoolFormer)提出的 MetaFormer 元架构设计,以Pooling Token 混合器 + ConvolutionalGLU(CGLU)MLP构成,将其封装为,用于替换 YOLOv11-seg 的 C3k2 块。对比维度C3k2(基线)C3k2_PoolingFormerCGLU(本文)参数量(n scale)2.46M≈2.49M9.6≈9.69.7(+1.0%)架构范式单阶段卷积MetaFormer 双阶段。

qq_44224801的博客 843

poj 1681(高斯消元。。。)

再次认真学习高斯消元。。。。感觉还有好多不会处理的。。。自由基的处理还没遇到(discuss里说不用处理也能过的。。。就没处理。。参照了别人的模板。。。自己写的很撮)。。。。收获很多。。。继续ing。。。。 #include #include #include usin

水杯 2200

大模型部署指南:LM Studio

本文介绍使用LM Studio部署大模型

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1950

高斯消元入门②-异或线性方程组-POJ1222

题目大意: 给你一个5∗65 * 65∗6大小的二维01矩阵代表灯的开关状态。改变任意一个灯的状态,会导致其上下左右的灯的状态的改变。问一种灯的开关方案使得最终所有灯都关闭. 题目思路: 首先,一个灯只会被按0次或1次。两次等于没按。不同灯按下的效果是叠加起来的. 解释:想象按下某个位置,等效于原矩阵异或上一个新矩阵。 例如按下(2,2)(2,2)(2,2)产生的效果. A2,2=[010111010]A_{2,2} = \left[\begin{array}{lll} 0 & 1 & 0

qq_35577488的博客 720

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

POJ 1681 Painter's Problem(高斯消元)(异或)

传送门 Description There is a square wall which is made of n*n small square bricks. Some bricks are white while some bricks are yellow. Bob is a painter and he wants to paint all the bricks yellow. But t...

Onebelieve_lxl的博客 193

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

poj 1681 Painter's Problem (高斯消元)

题意: 给出一个矩阵,矩阵只有黄色和白色,有一个画笔,在某个地方画就可以将这个点以及四周变成黄色。求最少要画多少笔。 题解: 高斯消元,开关类问题。判断无解条件。 #include #include #include #include #include #include #include #include #include using namespace std; #define B(x)

ACM之梦 546

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

[Gauss]POJ1681 Painter's Problem

和POJ1222(分析)完全相同 题意也类似, 可以涂自己以及上下左右五个位置的颜色 问几次能全部涂色 不能输出inf 01方程组 用异或来求解就好了 1 int a[300][300]; // 增广矩阵 2 int x[300]; // 解 3 int free_x[300]; // 标记是否为自由未知量 4 5 int n...

aicheng4794的博客 116

POJ 1681 (高斯消元)

板子题,01方程求解,自由元取0不一定是最优的. #include #include #include #include #include using namespace std; #define maxn 333 #define free Free int a[maxn][maxn]; char mp[maxn][maxn]; int free[maxn*maxn]; //标记自由

morejarphone~ 493

POJ1681——Painter\'s Problem

DescriptionThere is a square wall which is made of n*n small square bricks. Some bricks are white while some bricks are yellow. Bob is a painter and he wants to paint all the bricks yellow. But the

Alex 799

[poj1681][高斯消元]Painter's Problem

传送门http://poj.org/problem?id=1681 sol: 和上一题差不多,解一个异或方程组。就是这题会出现无解和自由元的情况。自由元的话我们肯定都设为0。无解的情况就是某一行的未知数前面的系数为0,而常量!=0.其他正常解异或方程即可。 #include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;strin...

Gzb1128的栖息地 198

poj_1681_高斯消元

这道题和之前的把那一道1222非常相似,只不过一定要注意一下对于无解的判断。/*######################################################################### # File Name: poj_1681.cpp # Author: CaoLei # Created Time: 2015/7/20 18:33:08 #########

bryant03的专栏 759

POJ 1681 Painter's Problem(高斯消元)

高斯消元 + 构造矩阵

代码改变世界 2565

【POJ1681】Painter's Problem 高斯消元,求最小∑系数的异或方程组

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 题意: 多组数据、 有个n*n的正方形,然后你要对某些位置进行操作,使得最后灯的状态都变成y。 操作:这个灯位置的上下左右以及自己这五盏灯状态都取反。 然后求最小操作次数。 -+-+-+-+-+-+-+-+-+-+-+-+-+-+

辗转山河弋流歌 1657

POJ1681 Painter's Problem【高斯消元法】

题目大意: 有一个 N*N 的正方形的墙,其中一些墙是白色的,另一些墙是黄色的。Bob 想要把 所有的墙都涂成黄色。但是他的画笔不是很好用。当他涂位置为 (i,j) 的砖时,会将 周围 (i+1,j),(i-1,j),(i,j+1),(i,j-1) 位置上的砖改变颜色(黄色回变成白色,白 色会变成黄色)。现在要计算出 Bob 最少需要涂多少块砖,会将所有的墙变为黄色。 解题思路: 每个位置上的砖最多涂一次,因为涂两次就和没涂是一样的。和 POJ1222 其实是一 样的,不过需要判断是否有解。如

程序员充电站(itcharge) 978
上一篇: Hdu--3306(数学,矩阵快速幂)
下一篇: Seuoj--155(数学,高斯消元)
dingdi3021
博客等级 码龄11年 1粉丝 230原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值