Gojou and Matrix Game(dp,推式子)

主动式桥梁防船撞预警系统的方案汇总 本系统以精密光电测高前端(2台,上下游各1台)、固态雷达(2台,上下游各1台)、AIS(1台)、偏航辅助前端(4台,上下游各2台)为核心,通过人工智能,对画面上的船舶目标进行深度学习、精确定位,再用系统集成方法将各设备有机结合在一起,构建成套的桥梁防撞主动预警系统,全天候监控过往船舶。主动式桥梁防船撞预警系统主要船舶监测采集单元、控制单元、船舶超高、偏航信息检测单元、以及视频监控单元组成,,通过声光警示、短信文字、船舶身份识别及海事对讲频道、视频录像取证等多种手段与船舶进行信息互动,主动防止船舶碰撞桥梁! 阅读详情

Gojou and Matrix Game

[Link](Problem - E - Codeforces)

题意

M M M和 G G G在一个 n × n n\times n n×n的二维矩阵中玩游戏,矩阵中每个位置元素值都不同,一共 n × n n\times n n×n局游戏, M M M每次从没有开局过的位置开始游戏,两个人依次加上选取位置上的值,但要满足当前选取的位置与上一次选取的位置的曼哈顿距离大于 k k k(除第一个人外),每局游戏一共选取 1 0 100 10^{100} 10100次,请你输出 M M M从每个位置开局的结果。

思路

​ 假设 M M M选了 x x x下一次 G G G选了 y y y,且 x > y x >y x>y则 M M M必胜,因为 M M M在 G G G选完后还可以一直选 x x x,会一直扩大自己的优势,所以 M M M从值最大的格子开局必胜,设 f [ i ] [ j ] : ( i , j ) 这 个 格 子 必 胜 还 是 必 败 f[i][j]:(i,j)这个格子必胜还是必败 f[i][j]:(i,j)这个格子必胜还是必败。

​ 因为每个格子只会和权值比他大的格子产生关系所以我们将所有的格子按照权值从大到小排序,对于第 k k k个格子 ( x 1 , y 1 ) (x_1,y_1) (x1​,y1​)来说如果它能到某个必胜的格子则必败,因为下一个人就可以选那个格子了。因此我们需要判断第 k k k个格子前面所有必胜的格子是否曼哈顿距离大于 k k k,暴力存取的话复杂度为 O ( n 4 ) O(n^4) O(n4)就 T T T了。

​ 考虑一下数学式子,对于 ( x 1 , y 1 ) 和 ( x 2 , y 2 ) (x_1,y_1)和(x_2,y_2) (x1​,y1​)和(x2​,y2​)我们要检察 a b s ( x 1 − x 2 ) + a b s ( y 1 − y 2 ) > k abs(x_1-x_2)+abs(y_1-y_2)>k abs(x1​−x2​)+abs(y1​−y2​)>k,有四种情况:

  • 左边 > 0 >0 >0,右边 > 0 >0 >0 即 x 1 − x 2 + y 1 − y 2 > k → ( x 1 + y 1 ) − ( x 2 + y 2 ) > k x_1-x_2+y_1-y_2>k\to(x_1+y_1)-(x_2+y_2)>k x1​−x2​+y1​−y2​>k→(x1​+y1​)−(x2​+y2​)>k

  • 左边 < 0 <0 <0,右边 < 0 <0 <0 即 x 2 − x 1 + y 2 − y 1 > k → − ( ( x 1 + y 1 ) − ( x 2 + y 2 ) ) > k x_2-x_1+y_2-y_1>k\to-((x_1+y_1)-(x_2+y_2))>k x2​−x1​+y2​−y1​>k→−((x1​+y1​)−(x2​+y2​))>k

  • 左边 > 0 >0 >0,右边 < 0 <0 <0 即 x 1 − x 2 + y 2 − y 1 > k → ( x 1 − y 1 ) − ( x 2 + y 2 ) > k x_1-x_2+y_2-y_1>k\to(x_1-y_1)-(x_2+y_2)>k x1​−x2​+y2​−y1​>k→(x1​−y1​)−(x2​+y2​)>k

  • 左边 < 0 <0 <0,右边 < 0 <0 <0 即 x 2 − x 1 + y 1 − y 2 > k → − ( ( x 1 − y 1 ) − ( x 2 + y 2 ) ) > k x_2-x_1+y_1-y_2>k\to-((x_1-y_1)-(x_2+y_2))>k x2​−x1​+y1​−y2​>k→−((x1​−y1​)−(x2​+y2​))>k

发现 a b s ( x 1 − x 2 ) + a b s ( y 1 − y 2 ) > k ⇔ m a x ( a b s ( ( x 1 + y 1 ) − ( x 2 + y 2 ) ) , a b s ( ( x 1 − y 1 ) − ( x 2 + y 2 ) ) ) > k abs(x_1-x_2)+abs(y_1-y_2)>k\Leftrightarrow max(abs((x_1+y_1)-(x_2+y_2)),abs((x_1-y_1)-(x_2+y_2)))>k abs(x1​−x2​)+abs(y1​−y2​)>k⇔max(abs((x1​+y1​)−(x2​+y2​)),abs((x1​−y1​)−(x2​+y2​)))>k,因此我们维护一下合法的 x + y x+y x+y和 x − y x-y x−y的最大最小值即可复杂度 O ( n 2 ) O(n^2) O(n2)。

Code

#include <bits/stdc++.h>
#define x first
#define y second
#define debug(x) cout<<#x<<":"<<x<<endl;
using namespace std;
typedef long double ld;
typedef long long LL;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
typedef unsigned long long ULL;
const int N = 1e5 + 10, M = 2 * N, INF = 0x3f3f3f3f, mod = 1e9 + 7;
const double eps = 1e-8, pi = acos(-1), inf = 1e20;
int dx[] = {-1, 0, 1, 0}, dy[] = {0, 1, 0, -1};
int h[N], e[M], ne[M], w[M], idx;
void add(int a, int b, int v = 0) {
    e[idx] = b, w[idx] = v, ne[idx] = h[a], h[a] = idx ++;
}
int n, m, k;
int a[N];
void solve() {
    cin >> n >> k;
    vector<array<int, 5>> g(n * n);
    vector<vector<bool>> f(n + 1, vector<bool>(n + 1, false));
    for (int i = 1; i <= n; i ++)
        for (int j = 1; j <= n; j ++) {
            int x; cin >> x;
            g.push_back({x, i, j, i + j, i - j});
        }

    sort(g.begin(), g.end(), [&](array<int, 5> a, array<int, 5> b) {
        return a[0] > b[0];
    });

    vector<int> c(4);
    function<bool(int , int )> check = [&](int x, int y) {
        if (abs(x + y - c[0]) > k || abs(x + y - c[1]) > k || abs(x - y - c[2]) > k || abs(x - y - c[3]) > k) return false;
        return true;
    };
 
    f[g[0][1]][g[0][2]] = true; c[0] = c[1] = g[0][3], c[2] = c[3] = g[0][4];
    for (int i = 1; i < n * n; i ++) {
        if (check(g[i][1], g[i][2])) {
            f[g[i][1]][g[i][2]] = true;
            c[0] = max(c[0], g[i][3]);
            c[1] = min(c[1], g[i][3]);
            c[2] = min(c[2], g[i][4]);
            c[3] = max(c[3], g[i][4]);
        }
    }

    for (int i = 1; i <= n; i ++) {
        for (int j = 1; j <= n; j ++)
            cout << (f[i][j] ? 'M' : 'G');
        cout << '\n';
    }

}
int main() {
    ios::sync_with_stdio(false), cin.tie(0);
    int T = 1;
   // cin >> T;
    while (T -- ) {
        solve();
    }
    return 0;
}
uniapp - 如何跟内嵌 web-view 组件内的网页交互,与 web-view 内嵌网页进行双向通信(uniapp 与 webview 网页之间的 “相互“ 传值)提供详细的示例代码及解决方案 uni-app如何实现在H5环境中与web-view中的网页交互通讯uniappuni-app 与 web-view内嵌网页 双向通信 如何跟内嵌web-view交互uniappAPP与webview子页面交互uniappAPP与webview子页面交互关于uni-app 使用 web-view 页面之间互相跳转、通信等问题uniapp的web-view嵌入网页,网页与uniapp通信webview如何与uniapp写的H5页面交互嵌套webview调用uniapp各种API组件实现H5和app通讯和交互 阅读详情

相关推荐

最新小旋风蜘蛛池X6.21解密版+绕过授权带教程

介绍: 1.站群管理:用你的域名在这里添加网站 2.站点优化:站点互链,内容优化 2.系统设置:开启蜘蛛池 3.采集管理(可开启自动采集) 4.缓存设置:推荐开启tkd缓存 其他的用户根据自己的实际情况后台进行配置,通常以下: 1.后台首页(这里显示系统的大致概况) 2.系统设置:蜘蛛池的基本设置(访问开关、跳转、统计等等) 3.站群管理: 1.网站管理(用你的域名在这里添加网站) 2.模型管理(可构建不同类型站点:电影、文章、论坛等等) 3.TKDB调用模板(即:title、keywords、descri

百度SEO程序下载 2937

9.1 Matrix Games (矩阵对策)

本文为《Linear algebra and its applications》的读书笔记 目录Matrix Games2×n2 × n2×n Matrix GamesReducing the Size of a Game Matrix Games The theory of games(博弈论) analyzes competitive phenomena and seeks to provide a basis for rational decision-making. The games in th

连理o的博客 1959

【近源攻击】badusb制作

BadUSB是利用伪造HID设备执行攻击载荷的一种攻击方式。HID(Human InterfaceDevice)设备通常指的就是键盘鼠标等与人交互的设备,用户插入BadUSB,就会自动执行预置在固件中的恶意代码。BadUsb插入后,会模拟键盘鼠标对电脑进行操作,通过这些操作打开电脑的命令终端,并执行一条命令,这条命令将从指定网址下载其他代码并于后台静默运行。这些代码功能包括:窃取信息、反弹shell、发送邮件等,从而实现控制目标机或者窃取信息的目的。

qinjilll的博客 2550

【记录】MatrixGame思路及脚本代码

思路: 将方块的局部坐标加上相机的世界坐标,得到方块的世界坐标。 将方块的世界坐标,通过主相机的WorldToScreenPoint()方法转换为屏幕坐标screenPoint。 将方块屏幕坐标与屏幕大小相减,即将screenPoint.x = Screen.width - screenPoint.x,screenPoint.y = Screen.height - screenPoint.y。因为Log打印发现,第二步得出的方块屏幕坐标是相对于屏幕右上角的,而鼠标点击获得的屏幕坐标是相对于左下

qq_43478653的博客 1160

PyTorch实战:3D U-Net医学图像分割从零搭建(附完整代码)

本文详细介绍了如何使用PyTorch从零搭建3D U-Net模型进行医学图像分割,涵盖三维卷积实现、模块化架构设计、医学图像专属优化策略及完整训练流程。通过实战代码演示,帮助开发者掌握UNet-3D在CT、MRI等三维医学图像分割中的应用,提升肝脏肿瘤分割、肺结节检测等任务的准确性。

weixin_29061997的博客 330

新能源汽车整车控制器(VCU)深度全解:硬件原理、工作流程、接口设计与高压安全实战

整车控制器(VCU,Vehicle Control Unit)是新能源纯电动、混动汽车的核心决策大脑,相当于汽车的“中枢神经系统”。它不直接驱动电机,却统筹电机控制器(MCU)、电池管理系统(BMS)、充电机(OBC)、DC/DC、空调、热管理、底盘等全部部件,负责驾驶意图解析、动力输出控制、高压上下电管理、故障安全保护、能量优化等关键任务。VCU所有设计均围绕车规级环境适应性、功能安全(ISO 26262)、实时性、高压安全性四大核心目标,与通用控制器完全不同。

优快云-新能源汽车研发测试专业博主 2486

Matrix Game (Nim博弈)

Matrix Game (Nim博弈):http://acm.hust.edu.cn/vjudge/contest/view.action?cid=112620#problem/A 传送门:nefu 题面描述: Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Statu

而濡木染 3226

基于STM32设计的数字电子秤

当前项目是采用采用STM32+称重模块+OLED实现了简单的电子秤项目,称重模块上采用24位的ADC芯片,精度较高。实现了称重,校准、去皮等功能。

1万+

Matrix Game(尼姆博弈)

原题目: Given an m x n matrix, where m denotes the number of rows and n denotes the number of columns and in each cell a pile of stones is given. For example, let there be a 2 x 3 matrix, and the piles ...

weixin_43791787的博客 407

【1】Python交叉编译到OpenHarmony标准系统运行(arm32位)

本文介绍如何Python语言如何在OpenHarmony标准系统运行,包括5.0r和4.1r以及4.0r,和未来版本的OpenHarmony版本上。 Python语言在OpenHarmony上使用,需要将Python解释器CPython移植到OpenHarmony标准系统。通过交叉编译的方式。

weixin_58069108的博客 930

32、运算放大器的工作原理与应用

本文详细介绍了运算放大器的工作原理与多种应用场景,涵盖开环与闭环放大器的基本概念、理想运算放大器的特性及其‘黄金规则’。文章深入解析了反相放大器、同相放大器、单位增益跟随器与反相器的配置和增益计算,并探讨了电压比较器及窗口比较器的工作机制。同时提供了运算放大器在实际应用中的选型流程、使用注意事项以及常见故障排查方法,帮助读者全面掌握运算放大器的设计与应用要点。

u5v6w7的博客 164

Matrix Game(尼姆博弈变形)

Given an m x n matrix, where m denotes the number of rows and n denotes the number of columns and in each cell a pile of stones is given. For example, let there be a 2 x 3 matrix, and the piles are 2 ...

Ray.C.L的博客 831

第1集:认识 Claude Code —— AI 编程新纪元

1. 定义 Claude Code:终端中的 AI 编程代理Claude Code 是 Anthropic 公司于 2025 年 5 月正式推出的命令行 AI 编程工具,它不只是一个代码补全工具,而是一个能够理解项目、自主执行任务的**终端 AI 代理(Agent)。它的核心理念是 **"生于终端,活于终端"** (lives in your terminal)。与深度嵌入图形界面(GUI)的工具不同,Claude Code 选择直接融入开发者最原始、最核心的工作环境——命令行。

dianziyao_的博客 865

Codeforces Round #779 (Div. 2) E. Gojou and Matrix Game(博弈,但是思维)

Codeforces Round #779 (Div. 2) E. Gojou and Matrix Game(博弈,但是思维) 链接 题意:给出一个矩阵,n∗nn*nn∗n,其中的价值互不相等,GM两人轮流取数,每个数任意多次,但与上一个位置的曼哈顿距离不能小于等于k。M先取,对于每个位置输出在1010010^{100}10100步之后谁会赢。n≤2000n\le2000n≤2000。 思路:首先我们可以现根据博弈论确定必胜状态,那就是最大的一定赢,然后我们根据值排序,从大到小,确定赢得局面,现在我没有不

qq_51672768的博客 358

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Codeforces Round #779 (Div. 2) E. Gojou and Matrix Game

E. Gojou and Matrix Game 这里我们定义一次(先手,后手)为一轮游戏,因为进行 1010010^{100}10100 次,所以可以进行整数轮游戏。 首先我们可以发现如果先手站在最大值上直接就赢了,因为后手无论走哪个点,先手又可以回来取最大点,所以每一轮先手都可以比后手优,所以必胜。 然后我们考虑先手初始在非最大值的情况,我们可以发现,如果先手站在非最大值上,假设这个值是 vvv ,那么后手下一步必须走到 >v>v>v 的点,为何呢,如果后手不这么做,选了一个 &lt

qq_45863710的博客 1306

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

E - Gojou and Matrix Game

E - Gojou and Matrix Game 因为v[i][j]的值都不同 所以先找最大值,一定先手胜利(第二个人选了之后第一个人可以无限次选最大值) 之后在曼哈顿距离外的点一定不能赢 在曼哈顿距离内的找一点最大值(也一定赢) ……………………(不断去找 且要维护菱形的面积,可以用斜线去表示菱形) #pragma GCC optimize(2) #pragma GCC optimize(3,"Ofast","inline") #include<bits/stdc++.h> //#defin

qq_51737737的博客 882

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Matrix Game

题目 Given anm x nmatrix, wheremdenotes the number of rows andndenotes the number of columns and in each cell a pile of stones is given. For example, let there be a2 x 3matrix, and the piles ar...

cf刷题随笔 1080

A. Matrix Game

A. Matrix Game time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Ashish and Vivek play a game on a matrix consisting of n rows and m columns, where they take turns claiming cells. Unclaimed cells are r

Elics的博客 372

E. Gojou and Matrix Game

Problem - E - Codeforces E. Gojou and Matrix Game time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Marin feels exhausted after a long day of cosplay, so Gojou invites her to play a game

ujn20161222的博客 458

【Matrix Game】(nim博弈)

题目: Given anm x nmatrix, wheremdenotes the number of rows andndenotes the number of columns and in each cell a pile of stones is given. For example, let there be a2 x 3matrix, and the piles a...

哇哈哈哈的博客 1405

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 255

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 323

把 KV Cache 压到 FP4:BitDecoding-FP4 的算法-系统协同设计复盘

长上下文推理卡在KV Cache的显存与带宽上,而现有FP4方案要么精度崩、要么速度废。这篇文章复盘BitDecoding-FP4如何用三个算法补丁加一个系统重构,在B300上把服务吞吐提升2.4–3.0倍,精度几乎不掉。

helloagent的博客 302

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 597

优选算法:分治-归并排序

交易逆序对的总数

Wangshijie1015的博客 140

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 23
上一篇: 388535 (Hard Version) (字典树)
下一篇: Juju and Binary String(前缀和)
枉玊
博客等级 码龄6年 73粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值