【Henu ACM Round#24 B】Gargari and Bishops
【链接】 我是链接,点我呀:)
【题意】
在这里输入题意
【题解】
如果写过n皇后问题。
肯定都知道
某个点(i,j)和它在同一条对角线上的点分别是i+j的值和i-j的值相同的点。
然后会发现选择的两个点其实就对应了两组i+j和i-j
且每组i+j和i-j
i+j的奇偶性和i-j的奇偶性要是一样的
假设第一组i+j和i-j的奇偶性都是x
第二组i+j和i-j的奇偶性是y
那么x和y要不一样才行。
不然会有重复的点。
会发现只要满足这个就能不重复了。
(画图就知道了
那么我们处理出来i+j和i-j的所有和就好。
排个序然后两重循环找最大的奇和最大的偶就好。。
(i+j和i-j最多2*n-1组,所以O(N^2)是可以的
【代码】
#include <bits/stdc++.h>
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define all(x) x.begin(),x.end()
#define pb push_back
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
using namespace std;
const double pi = acos(-1);
const int dx[4] = {0,0,1,-1};
const int dy[4] = {1,-1,0,0};
const int N = 2000;
const LL INF = 1e16;
int n;
LL a[N+10][N+10];
map<int,LL> zheng,fu;
vector<pair<LL,int> > v1,v2;
int main(){
#ifdef LOCAL_DEFINE
freopen("rush_in.txt", "r", stdin);
#endif
ios::sync_with_stdio(0),cin.tie(0);
cin >> n;
rep1(i,1,n)
rep1(j,1,n)
cin >> a[i][j];
rep1(i,1,n)
rep1(j,1,n){
zheng[i-j]+=a[i][j];
fu[i+j]+=a[i][j];
}
for (auto temp:zheng){
v1.push_back(make_pair(temp.second,temp.first));
}
for (auto temp:fu){
v2.push_back(make_pair(temp.second,temp.first));
}
sort(v1.begin(),v1.end());
reverse(all(v1));
sort(all(v2));
reverse(all(v2));
vector<int> ans;ans.clear();
LL tt = 0;
int tempx = -1,tempy = -1;LL ttt = -INF;
for (auto x:v1){
if (x.second&1){
for (auto y:v2)
if (y.second&1){
int i = (x.second+y.second)/2;
int j = (y.second-x.second)/2;
if (i>=1 && i<=n && j>=1 &&j<=n) {
LL temp = x.first+y.first-a[i][j];
if (temp>ttt){
ttt = temp;
tempx = i,tempy = j;
}
}
}
}
}
tt+=ttt;
ans.push_back(tempx),ans.push_back(tempy);
tempx = -1,tempy = -1;ttt = -INF;
for (auto x:v1){
if ((x.second&1)==0){
for (auto y:v2)
if ((y.second&1)==0){
int i = (x.second+y.second)/2;
int j = (y.second-x.second)/2;
if (i>=1 && i<=n && j>=1 &&j<=n) {
LL temp = x.first+y.first-a[i][j];
if (temp>ttt){
ttt = temp;
tempx = i,tempy = j;
}
}
}
}
}
tt+=ttt;
ans.push_back(tempx),ans.push_back(tempy);
cout<<tt<<endl;
for (int x:ans)cout<<x<<' ';
return 0;
}
【Henu ACM Round#24 B】Gargari and Bishops的更多相关文章
- 【Henu ACM Round#24 E】Connected Components
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 要求把连续的一段li..ri的边全都删掉. 然后求剩下的图的联通数 如果暴力的话 复杂度显然是O(k*m)级别的. 考虑我们把li. ...
- 【Henu ACM Round#24 D】Iterated Linear Function
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 把B提取出来就是一个等比数列了. 求和一下会发现是这种形式. \(B*\frac{(A^n-1)}{A-1}+A^n*x\) 则求一 ...
- 【Henu ACM Round#24 C】Quiz
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 肯定是这样 先放k-1个,然后空1个,然后再放k-1个.然后再空1个.. 以此类推. 然后如果(n/k)*(k-1)+n%k> ...
- 【Henu ACM Round#24 A】k-String
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 如果是一个k-string的话. 考虑最后的串假设形式为sss..ss(k个s) 则s中出现的字母,整个串中最后出现的次数肯定为k的 ...
- 【Henu ACM Round#15 F】Arthur and Questions
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] a1+a2+...+ak<a2+a3+...ak+1 ->a1<ak+1 a2+a3+...+ak+1<a3 ...
- 【Henu ACM Round#16 F】Om Nom and Necklace
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] KMP算法可以把"i前缀"pre[i] 分成ssssst的形式 这里t是s的前缀. 然后s其实就是pre[i]中 ...
- 【Henu ACM Round#16 E】Paths and Trees
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 感觉很像一道最短路. 然后就试了一发. 结果真的是.. 只要用一个优先队列优化的dijkstra算法求出每个点的最短路上的前一个点是 ...
- 【Henu ACM Round#18 F】Arthur and Walls
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 考虑,为什么一个连通块里面的空格没有变成一个矩形? 如果不是形成矩形的话. 肯定是因为某个2x2的单张方形里面. 只有一个角是墙.其 ...
- 【Henu ACM Round#17 F】Upgrading Array
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 如果我们对某一个位置i操作两次的话. 显然结果就和操作一次一样. 因为第一次操作过后1..i这些数字就变成是互质的了. gcd为1. ...
随机推荐
- Vue学习之路第十篇:简单计算器的实现
前面九篇讲解了vue的一些基础知识,正所谓:学以致用,今天我们将用前九篇的基础知识,来模拟实现计算器的简单功能,项目价值不高,纯粹是为了加深掌握所学知识. 学前准备: 需要掌握JavaScript的e ...
- [USACO 2009 Feb Gold] Fair Shuttle (贪心+优先队列)
题目大意:有N个站点的轻轨站,有一个容量为C的列车起点在1号站点,终点在N号站点,有K组牛群,每组数量为Mi(1≤Mi≤N),行程起点和终点分别为Si和Ei(1≤Si<Ei≤N).计算最多有多少 ...
- 六、利用frp穿透连接内网的linx系统和windows系统
服务端的配置 # frps.ini [common] bind_port = 7000 说明:防火墙放行该端口 启动:./frps -c ./frps.ini 后台启动:nohup ./frps -c ...
- ansible组件 Ad-Hoc
ad hoc ---临时的,在ansible里需要快速执行,并不用保存命令的执行方式 简单命令 playbook 复杂命令 EXAMPLES: - name: install the late ...
- java ee服务器/应用服务器的理解
42.由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现.43.可以这样认为,当在一台机器上配 ...
- Android蓝牙串口程序开发
本文主要介绍了针对android的蓝牙串口上位机开发. 程序下载地址:点击打开链接 一.帧定义 androidclient依照一定的数据帧格式通过蓝牙串口发送数据到连接到MCU的蓝牙从机.MCU接收到 ...
- 百度 谷歌 Twitter,这么多短链接服务(Short Url)究竟哪家强?
一.短链接是什么 url=HPqdQ5VR3vA39x7ZWoWyNzwWnsDhTbh66BTpdzsJLroBDzFRm4JV-G818Zc027uZrwe7zxtxnD4H2FUahftpUK& ...
- HDU 5187 zhx's contest(防爆__int64 )
Problem Description As one of the most powerful brushes, zhx is required to give his juniors n probl ...
- IP地址正則表達式
正則表達式对字符进行格式化匹配.一句指令完毕推断. IP地址格式 x.x.x.x x 表示0~255的数字 分三种情况 A. 250-255:特点:三位数,百位是2,十位是5,个 ...
- 使用LSTM做电影评论负面检测——使用朴素贝叶斯才51%,但是使用LSTM可以达到99%准确度
基本思路: 每个评论取前200个单词.然后生成词汇表,利用词汇index标注评论(对 每条评论的前200个单词编号而已),然后使用LSTM做正负评论检测. 代码解读见[[[评论]]]!embeddin ...