题目链接 题意有点坑: 给你一个N*N的矩阵,让你填入K个1,使之整个矩阵关于左上到右下的对角线对称,并且这个要求这个矩阵的字典序最大. 对矩阵的字典序的定义是从每一行的第一个元素开始比较,大着为字典序较大. 思路: 根据字典序的定义贪心的从第一个元素开始走,如果没被填1,就填1并且关于对角线的对称的位置也填1,共计消耗两个k. 如果是i==j,即对角线的位置只需要消耗一个k. 我的AC代码: #include <iostream> #include <cstdio> #inclu…
A. Maximal Binary Matrix time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given matrix with n rows and n columns filled with zeroes. You should put k ones in it in such a way that th…
枚举. 枚举对角线上放多少个$1$,剩余的贪心放,更新答案. #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <cmath> #include <queue> #include <stack> #include <vector> #include <map> #include &l…
Luogu codeforces 前言 模拟赛原题.. 好好一道送分被我硬打成爆蛋.. \(\sf{Solution}\) 看了一波数据范围,感觉能 dfs 骗分. 骗成正解了. 大概就是将这个 \(n\times n\) 的矩阵全扫一遍,可以选择填 \(1\) 或不填.回溯一下就行啦. 位置问题 假设现在的坐标为 \((x,y)\) 若 \(x>n\) ,则结束 dfs ,比较一下矩阵字典序,较为简单不题. 若 \(y>n\) ,则 \(x→x+1,y=1\) ,即跳到下一行第一位. 对称处…
“矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔记下载(Academia.edu) 第3章课程讲义下载(PDF) Summary Addition of matrices Two matrices $[A]$ and $[B]$ can be added only if they are the same size. The addition i…
Maximal Area Quadrilateral CodeForces - 340B 三点坐标求三角形面积(可以带正负,表示向量/点的不同相对位置): http://www.cnblogs.com/xiexinxinlove/p/3708147.html https://jingyan.baidu.com/article/a65957f49596ab24e67f9be7.html 枚举对角线,求出在对角线两侧取任意点能得到的三角形的面积,然后对于每条对角线,最大值就是两侧面积最大值之和. #…
题目如下: Given a m x n binary matrix mat. In one step, you can choose one cell and flip it and all the four neighbours of it if they exist (Flip is changing 1 to 0 and 0 to 1). A pair of cells are called neighboors if they share one edge. Return the min…
题目如下: Given the following details of a matrix with n columns and 2 rows : The matrix is a binary matrix, which means each element in the matrix can be 0 or 1. The sum of elements of the 0-th(upper) row is given as upper. The sum of elements of the 1-…
链接 大意: 求将n划分为k个2的幂的和, 且最大幂最小,字典序尽量大 比较简单的贪心练习题, 但放在div2的B题感觉偏难了..... 先只考虑最大幂最小, 首先注意到直接按n的二进制划分即可得到最小划分, 所以若k小于n二进制中1的个数的话显然不存在方案 否则若k足够大的话, 要使最高幂最小, 可以把最高幂可以分解成两个低次幂, 这样会使划分数增加1 基本思想就是用贪心从最坏状态调整到最优状态, 由于每次划分数加1, 一定可以达到k划分 但是这样划分完, 可以发现得到的划分字典序一定是最小的…
题 OvO http://codeforces.com/contest/884/problem/E 884e 解 考虑并查集,每个点向上方和左方的点合并,答案即为1的总数减去需要合并的次数 由于只有16MB,考虑动态数组 由于动态数组,则并查集的时候需要一些细节处理,略OVO 而且还卡常数 #include <iostream> #include <cstring> #include <cstdio> #include <cmath> #include &l…