传送门

1.模拟

easy

#include <cstdio>
#define N 500001 int n, m;
int X[N], Y[N], x[N], y[N], a = 1, b = 1, p, q;
char s[N][1]; int main()
{
int i;
scanf("%d %d", &n, &m);
for(i = 1; i <= n; i++) scanf("%d %d", &X[i], &Y[i]);
for(i = 1; i <= m; i++)
{
scanf("%s", s[i]);
if(s[i][0] == 'm') scanf("%d %d", &x[i], &y[i]);
}
for(i = m; i >= 1; i--)
if(s[i][0] == 'm')
{
p += x[i];
q += y[i];
}
else if(s[i][0] == 'x')
{
a *= -1;
p *= -1;
}
else
{
b *= -1;
q *= -1;
}
for(i = 1; i <= n; i++) printf("%d %d\n", X[i] * a + p, Y[i] * b + q);
return 0;
}

 

2.矩阵优化

详见 Matrix67

#include <cstdio>
#include <cstring>
#define N 500001 int n, m;
int X[N], Y[N], x[N], y[N];
char s[N][2]; struct Matrix
{
int n, m;
int a[11][11];
Matrix()
{
n = m = 0;
memset(a, 0, sizeof(a));
}
}sum; inline Matrix operator * (const Matrix x, const Matrix y)
{
Matrix ret;
ret.n = x.n;
ret.m = y.m;
int i, j, k;
for(i = 1; i <= x.n; i++)
for(j = 1; j <= y.m; j++)
for(k = 1; k <= y.n; k++)
ret.a[i][j] += x.a[i][k] * y.a[k][j];
return ret;
} int main()
{
int i;
Matrix t;
scanf("%d %d", &n, &m);
sum.n = sum.m = 3;
sum.a[1][1] = sum.a[2][2] = sum.a[3][3] = 1;
for(i = 1; i <= n; i++) scanf("%d %d", &X[i], &Y[i]);
for(i = 1; i <= m; i++)
{
scanf("%s", s[i]);
if(s[i][0] == 'm') scanf("%d %d", &x[i], &y[i]);
}
for(i = m; i >= 1; i--)
{
memset(t.a, 0, sizeof(t.a));
t.n = t.m = 3;
t.a[1][1] = t.a[2][2] = t.a[3][3] = 1;
if(s[i][0] == 'm') t.a[1][3] = x[i], t.a[2][3] = y[i];
if(s[i][0] == 'x') t.a[1][1] = -1;
if(s[i][0] == 'y') t.a[2][2] = -1;
sum = t * sum;
}
for(i = 1; i <= n; i++)
{
memset(t.a, 0, sizeof(t.a));
t.n = 3;
t.m = t.a[3][1] = 1;
t.a[1][1] = X[i];
t.a[2][1] = Y[i];
t = sum * t;
printf("%d %d\n", t.a[1][1], t.a[2][1]);
}
return 0;
}

  

[luoguP2129] L国的战斗续之多路出击(模拟 || 矩阵)的更多相关文章

  1. 洛谷 P2129 L国的战斗续之多路出击(模拟)

    P2129 L国的战斗续之多路出击 题目背景 广而告之:背景见其他L国的战斗!!大家一起刷 题目描述 这一次,L国决定军队分成n组,分布在各地,若以L国为原点,可以看作在一个直角坐标系内.但是他们都受 ...

  2. 【题解】L 国的战斗续之多路出击 [P2129]

    [题解]L 国的战斗续之多路出击 [P2129] 传送门: \(L\) 国的战斗续之多路出击 \([P2129]\) [题目描述] 给出 \(n\) 个坐标,\(m\) 个指令,指令处理顺序应是从后往 ...

  3. P2129 L国的战斗续之多路出击

    题目描述 这一次,L国决定军队分成n组,分布在各地,若以L国为原点,可以看作在一个直角坐标系内.但是他们都受统一的指挥,指令部共发出m个命令.命令有移动.上下转移和左右转移(瞬移??),但是由于某些奇 ...

  4. AC日记——L国的战斗之间谍 洛谷 P1916

    题目背景 L国即将与I国发动战争!! 题目描述 俗话说的好:“知己知彼,百战不殆”.L国的指挥官想派出间谍前往I国,于是,选人工作就落到了你身上. 你现在有N个人选,每个人都有这样一些数据:A(能得到 ...

  5. 洛谷 P1910 L国的战斗之间谍(水题日常)

    题目背景 L国即将与I国发动战争!! 题目描述 俗话说的好:“知己知彼,百战不殆”.L国的指挥官想派出间谍前往I国,于是,选人工作就落到了你身上. 你现在有N个人选,每个人都有这样一些数据:A(能得到 ...

  6. 洛谷——P1910 L国的战斗之间谍

    https://www.luogu.org/problem/show?pid=1910#sub 题目背景 L国即将与I国发动战争!! 题目描述 俗话说的好:“知己知彼,百战不殆”.L国的指挥官想派出间 ...

  7. 洛谷 P1913 L国的战斗之伞兵

    P1913 L国的战斗之伞兵 题目背景 L国即将与I国发动战争!! 题目描述 为了在敌国渗透作战,指挥官决定:派出伞兵前往敌国!然而敌国的风十分强烈,能让伞兵在同一高度不停转悠,直到被刮到一个无风区… ...

  8. 洛谷 P1911 L国的战斗之排兵布阵

    P1911 L国的战斗之排兵布阵 题目背景 L国即将与I国发动战争!! 题目描述 L国的指挥官想让他的每一个军营都呈现出国徽形——“L”形(方向无所谓).当然,他的指挥营除外(这叫做个性),他想不出该 ...

  9. 洛谷 P1910 L国的战斗之间谍

    洛谷 P1910 L国的战斗之间谍 传送门 思路 二维背包模板题 三维肯定会爆掉,所以换二维 代码 #include <bits/stdc++.h> #define N 1111 usin ...

随机推荐

  1. POJ 3522 Slim Span 暴力枚举 + 并查集

    http://poj.org/problem?id=3522 一开始做这个题的时候,以为复杂度最多是O(m)左右,然后一直不会.最后居然用了一个近似O(m^2)的62ms过了. 一开始想到排序,然后扫 ...

  2. AJPFX分享eclipse自动生成java注释方法

    设置方法介绍:eclipse中:Windows->Preferences->Java->Code Style->Code Template->Comments,然后对应的 ...

  3. 洛谷P3254 圆桌问题(最大流)

    题意 $m$个不同单位代表参加会议,第$i$个单位有$r_i$个人 $n$张餐桌,第$i$张可容纳$c_i$个代表就餐 同一个单位的代表需要在不同的餐桌就餐 问是否可行,要求输出方案 Sol 比较zz ...

  4. 关于对象.style currentstyle 的区别

    对象.style的方式只能获取行内写法的样式,但是外部引入的或者写在head里面的就无法获取,只能用currentstyle.

  5. LibreOJ #109. 并查集

    题目描述 这是一道模板题. 维护一个 nnn 点的无向图,支持: 加入一条连接 uuu 和 vvv 的无向边 查询 uuu 和 vvv 的连通性 由于本题数据较大,因此输出的时候采用特殊的输出方式:用 ...

  6. LC.exe 已退出,代码为-1 问题解决

    最近一个c#工程,之前编译正常.后重装系统,安装DevExpress后,编译一直失败,并提示"4>C:\Windows\Microsoft.NET\Framework\v4.0.303 ...

  7. 你的项目刚刚启动?是时候考虑Globalization了!

    今天继续由SAP成都研究院非典型程序猿, 菜园子小哥王聪给大家带来分享. 关于这个很长的定语的由来,请参考这篇文章,里面有王聪的背景介绍,包括他种菜的特长:当我用UI5诊断工具时我用些什么. 秋天到了 ...

  8. 事件冒泡 & 阻止事件冒泡

    事件冒泡 : 当一个元素接收到事件的时候,会把他接收到的所有传播给他的父级,一直到顶层window.事件冒泡机制 阻止冒泡 : 当前要阻止冒泡的事件函数中调用 event.cancelBubble = ...

  9. 加快create-react-app的方法

    npm config get registry 查看npm源,默认源是 https://registry.npmjs.org/ npm config set registry https://regi ...

  10. android 近百个源码项目【转】

    http://www.cnblogs.com/helloandroid/articles/2385358.html Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多 ...