T1 [JZOJ1385] 直角三角形

题目描述

  二维平面坐标系中有N个位置不同的点。

  从N个点选择3个点,问有多少选法使得这3个点形成直角三角形。

数据范围

  $3 \leq N \leq 1500$

分析

  再一次考场上正解写挂(怎么AC的一堆都是暴力卡常吸氧??)

  我们可以先枚举直角顶点,并求出其他点与该点连成的直线的斜率,再按斜率将点排序

  众所周知,两条相互垂直的直线斜率之积为 $-1$,所以两条垂直直线斜率一定异号(竖直和水平的直线特殊考虑)

  然后把斜率大于 $0$ 的点从大到小加入队列,再从大到小枚举斜率小于等于 $0$ 的点

  如果队首斜率与该点斜率之积小于 $-1$,那么它与后面将枚举的点也一定无法形成直角三角形,所以将其出队

  如果队首斜率与该点斜率之积大于 $-1$,那么该点与队列后面的点也一定无法形成直角三角形,所以直接判断下一个点

  这样时间复杂度就降至 $O(n^2 \, log \, n)$

  注意精度,$eps$ 尽量设小一点

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
#define ll long long
#define inf 2000000001.0
#define eps 1e-15
#define N 1505 int n, ans; struct Point {
int x, y;
double k;
} p[N], q[N]; bool cmp(Point a, Point b) {
return a.k > b.k;
} double getk(Point a, Point b) {
if (a.x == b.x) return inf;
if (a.y == b.y) return ;
return (double)(b.y - a.y) / (b.x - a.x);
} double Abs(double a) {
if (a < ) return -a;
return a;
} int main() {
scanf("%d", &n);
for (int i = ; i <= n; i++)
scanf("%d%d", &p[i].x, &p[i].y);
for (int i = ; i <= n; i++) {
for (int j = ; j < i; j++) q[j] = p[j];
for (int j = i; j < n; j++) q[j] = p[j + ];
for (int j = ; j < n; j++) q[j].k = getk(p[i], q[j]);
sort(q + , q + n, cmp);
queue<int> qu;
int now = , last;
while (q[++now].k > && now < n) qu.push(now);
for (; now < n; now++) {
if (Abs(q[now].k - q[now - ].k) < eps) {
ans += last; continue;
}
last = ;
while (!qu.empty()) {
int temp = qu.front();
if (q[now].k == ) {
if (q[temp].k == inf) qu.pop(), last++;
else break;
}
else {
double mul = q[now].k * q[temp].k;
if (Abs(mul + ) < eps) qu.pop(), last++;
else if (mul + < ) qu.pop();
else break;
}
}
ans += last;
}
}
printf("%d", ans); return ;
}

 T2 [JZOJ1386] 排序

题目描述

  你收到一项对数组进行排序的任务,数组中是1到N个一个排列。你突然想出以下一种特别的排序方法,分为以下N个阶段:

  • 阶段1,把数字1通过每次交换相邻两个数移到位置1;

  • 阶段2,用同样的方法把N移到位置N;

  • 阶段3,把数字2移到位置2处;

  • 阶段4,把数字N-1移到位置N-1处;

  • 依此类推。换句话说,如果当前阶段为奇数,则把最小的未操作的数移到正确位置上,如果阶段为偶数,则把最大的未操作的数移到正确位置上。

  写一个程序,给出初始的排列情况,计算每一阶段交换的次数。

数据范围

  对于 $70 \%$ 的数据,$1 \leq N \leq 100$

  对于 $100 \%$ 的数据,$1 \leq N \leq 10^5$

分析

  刚看到这题,就想到了昨天讲到的拉格朗日计数

  如果一个数要向前移,那么移动次数就是前面还没有操作过的数字个数,向后移同理

  所以我们可以可以先把所有位置的值都设为 $1$,对于每次操作都只需要查询这个数所在位置前/后的区间和,然后把这个位置的值改为 $0$

  用树状数组/线段树维护就可以了

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
#define N 100005 int n, p;
int pos[N], t[N]; int lowbit(int x) {
return x & -x;
} void update(int x, int q) {
while (x <= n) t[x] += q, x += lowbit(x);
} int query(int l, int r) {
int ans = ; l--;
while (r) ans += t[r], r -= lowbit(r);
while (l) ans -= t[l], l -= lowbit(l);
return ans;
} int main() {
scanf("%d", &n);
for (int i = ; i <= n; i++) {
scanf("%d", &p);
pos[p] = i;
update(i, );
}
for (int i = ; i <= n / ; i++) {
printf("%d\n", query(, pos[i] - ));
update(pos[i], -);
printf("%d\n", query(pos[n + - i] + , n));
update(pos[n + - i], -);
}
if (n % ) printf("0\n"); return ;
}

T3 [JZOJ1388] 自行车赛

题目描述

  翠亨村举行一场自行车赛,翠亨村有N个路口(编号1到N),另有M条双向边连接起来。下面有几个定义:

  • 路径:由一系列边组成,满足后一条边的起点为前一条边的终点;

  • 简单路径:每个路口最多经过一次的路径;

  • 环:起点和终点在同一个路口的简单路径。

  保证每对路口之间至少有一条路径相连,两个路口之间最多只有一条边直接相连,每条边最多只会出现在一个环中。

  你的任务是找出最长的满足以下两个条件的路径:

  • 起点可以在任意路口,但终点必须在1号路口;

  • 路径可能多次经过同一个路口,但每条边最多只会经过一次。

数据范围

  $2 \leq N \leq 10^4$,$1 \leq M \leq 2N-2$

分析

  这大概是这些天来最神仙的题了

  虽然说思路理解了以后感觉不算是很难但我肯定是想不到的,但是要码出来并不简单,何况是在考场上

  思考后可以发现,这个图是由一些环和桥组成的(相连的环之间一定有桥)

  然后我们可以用 $Tarjan$ 判断出每条边是在环上还是在桥上

  对于一个环/桥,我们说它悬挂在点 $x$ 上,当且仅当 $x$ 是该环/桥上 $dfn$ 值最小的点

  设 $f[x][0]$ 表示点 $x$ 的子图中始于 $x$ 终于 $x$ 的最长路径长度,$f[x][1]$ 表示点 $x$ 的子图中始于任意节点终于 $x$ 的最长路径长度

  显然 $f[x][0]$ 就等于悬挂在点 $x$ 上的所有环的长度之和加上环上所有点 $y$ 的 $f[y][0]$ 之和

  而对于 $f[x][1]$,有两种情况可能达到最优(在两者中取较大值)

  1.先走完悬挂在 $x$ 上的所有环(包括环上所有的点上悬挂的环),即 $f[x][0]$;当有桥悬挂在点 $x$ 上时,就再加上这些桥中走下去得到的路径最长的一条路径长度

  2.先走完悬挂在 $x$ 上的所有其他环,然后走到剩下的一个环上的某个结点处进入其子图,由于从 $x$ 在环上走到该结点有顺时针和逆时针两个方向,所以要取两条路中的较长者

  这样就可以处理出每个结点上的 $f$ 值,答案就是 $f[1][1]$

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <vector>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
#define N 10005 int n, m, tot, num, top, cirnum;
int to[N << ], nxt[N << ], head[N];
int dfn[N], low[N], stack[N], f[N][];
vector<int> c[N], cir[N], bri[N]; void add(int u, int v) {
to[++tot] = v; nxt[tot] = head[u]; head[u] = tot;
} void tarjan(int x, int fa) {
dfn[x] = low[x] = ++num;
stack[++top] = x;
for (int i = head[x]; i; i = nxt[i]) {
if (to[i] == fa) continue;
if (dfn[to[i]]) low[x] = min(low[x], dfn[to[i]]);
else {
tarjan(to[i], x);
if (low[to[i]] < dfn[x]) low[x] = min(low[x], low[to[i]]);
else if (low[to[i]] == dfn[x]) {
cir[x].push_back(++cirnum);
do c[cirnum].push_back(stack[top]);
while (to[i] != stack[top--]);
}
else bri[x].push_back(stack[top--]);
}
}
} int dp(int x, int way) {
int &sum = f[x][way];
if (sum >= ) return sum;
sum = ; int path = ;
for (int i = ; i < bri[x].size(); i++)
path = max(path, dp(bri[x][i], ) + );
for (int i = ; i < cir[x].size(); i++) {
vector<int> &now = c[cir[x][i]];
int cirlen = now.size() + , all = now.size() - ;
int len1 = , len2 = , maxlen = ;
for (int j = ; j < now.size(); j++) {
maxlen = max(maxlen, len1 + dp(now[j], ));
len1 += dp(now[j], ) + ;
maxlen = max(maxlen, len2 + dp(now[all - j], ));
len2 += dp(now[all - j], ) + ;
cirlen += dp(now[j], );
}
sum += cirlen;
path = max(path, maxlen - cirlen);
}
if (way) sum += path;
return sum;
} int main() {
scanf("%d%d", &n, &m);
for (int i = ; i <= m; i++) {
int u, v;
scanf("%d%d", &u, &v);
add(u, v); add(v, u);
}
tarjan(, );
memset(f, -, sizeof f);
printf("%d\n", dp(, )); return ;
}

T4 [JZOJ6275] 小L的数列

题目描述aaarticlea/png;base64,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" alt="" width="1099" height="252" />

数据范围

  对于 $30 \%$ 的数据,$n \leq 10^4$

  对于另外 $20 \%$ 的数据,$b_i=1$,$n \leq 10^6$

  对于另外 $20 \%$ 的数据,$f_1...f_{k-1}=1$

  对于另外 $20 \%$ 的数据,$k \leq 30$

  对于 $100 \%$ 的数据,$1 \leq 200$,$1 \leq n \leq 4 \times 10^7$,$1 \leq b_i,f_i \leq 998244352$

分析

  我们以 $k=4$ 为例来说明

  因为 $f[1]=f[1]^1f[2]^0f[3]^0f[4]^0$,$f[2]=f[1]^0f[2]^1f[3]^0f[4]^0$,

     $f[3]=f[1]^0f[2]^0f[3]^1f[4]^0$,$f[4]=f[1]^0f[2]^0f[3]^0f[4]^1$

  可得初始矩阵 $$\begin{pmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{pmatrix}$$

  又因为 $f[5]=f[1]^{b[4]}f[2]^{b[3]}f[3]^{b[2]}f[4]^{b[1]}$

  所以转移得到的下一个矩阵为 $$\begin{pmatrix}0&0&0&b[4]\\1&0&0&b[3]\\0&1&0&b[2]\\0&0&1&b[1]\end{pmatrix}$$

  由于初始矩阵相当于矩阵中的实数 $1$,所以第二个矩阵就是转移矩阵

  然后根据矩阵的结合律,可以对转移矩阵快速幂,最后求出矩阵最后一列 $f$ 的幂之积得到答案

  注意在矩阵乘法中,若模数为 $p$($p$ 为质数),则应该对 $p-1$ 取模

  这是根据费马小定理 $a^{p-1}\equiv 1 \, (mod \; p)$

  所以每 $p-1$ 次幂模 $p$ 都为 $1$,对答案不会产生影响

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
#define N 205 int n, K;
ll b[N], f[N], ans = ;
const int p = ; struct Mat {
ll m[N][N];
Mat(){memset(m, , sizeof m);}
} a; Mat mul(Mat x, Mat y) {
Mat z;
for (int i = ; i <= K; i++)
for (int j = ; j <= K; j++)
for (int k = ; k <= K; k++)
z.m[i][j] = (z.m[i][j] + x.m[i][k] * y.m[k][j] % (p - )) % (p - );
return z;
} Mat mpow(Mat x, int k) {
Mat res;
for (int i = ; i <= K; i++) res.m[i][i] = ;
while (k) {
if (k & ) res = mul(res, x);
x = mul(x, x);
k >>= ;
}
return res;
} ll qpow(ll x, ll k) {
ll res = ;
while (k) {
if (k & ) res = (res * x) % p;
x = (x * x) % p;
k >>= ;
}
return res;
} int main() {
scanf("%d%d", &n, &K);
for (int i = ; i <= K; i++) scanf("%lld", b + i);
for (int i = ; i <= K; i++) scanf("%lld", f + i);
if (n <= K) {printf("%lld\n", f[n]); return ;}
for (int i = ; i <= K; i++) a.m[i][i - ] = ;
for (int i = ; i <= K; i++) a.m[i][K] = b[K + - i];
a = mpow(a, n - K);
for (int i = ; i <= K; i++) ans = ans * qpow(f[i], a.m[i][K]) % p;
printf("%lld\n", ans); return ;
}

2019-08-07 纪中NOIP模拟B组的更多相关文章

  1. 2019-08-21 纪中NOIP模拟A组

    T1 [JZOJ6315] 数字 题目描述

  2. 2019-08-15 纪中NOIP模拟B组

    T1 [JZOJ3455] 库特的向量 题目描述 从前在一个美好的校园里,有一只(棵)可爱的弯枝理树.她内敛而羞涩,一副弱气的样子让人一看就想好好疼爱她.仅仅在她身边,就有许多女孩子想和她BH,比如铃 ...

  3. 2019-08-01 纪中NOIP模拟B组

    T1 [JZOJ2642] 游戏 题目描述 Alice和Bob在玩一个游戏,游戏是在一个N*N的矩阵上进行的,每个格子上都有一个正整数.当轮到Alice/Bob时,他/她可以选择最后一列或最后一行,并 ...

  4. 2019-08-25 纪中NOIP模拟A组

    T1 [JZOJ6314] Balancing Inversions 题目描述 Bessie 和 Elsie 在一个长为 2N 的布尔数组 A 上玩游戏. Bessie 的分数为 A 的前一半的逆序对 ...

  5. 2019-08-23 纪中NOIP模拟A组

    T1 [JZOJ2908] 矩阵乘法 题目描述 给你一个 N*N 的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第 K 小数. 数据范围 对于 $20\%$ 的数据,$N \leq 100$,$Q ...

  6. 2019-08-20 纪中NOIP模拟B组

    T1 [JZOJ3490] 旅游(travel) 题目描述 ztxz16如愿成为码农之后,整天的生活除了写程序还是写程序,十分苦逼.终于有一天,他意识到自己的生活太过平淡,于是决定外出旅游丰富阅历. ...

  7. 2019-08-20 纪中NOIP模拟A组

    T1 [JZOJ6310] Global warming 题目描述 给定整数 n 和 x,以及一个大小为 n 的序列 a. 你可以选择一个区间 [l,r],然后令 a[i]+=d(l<=i< ...

  8. 2019-08-18 纪中NOIP模拟A组

    T1 [JZOJ6309] 完全背包 题目描述

  9. 2019-08-09 纪中NOIP模拟B组

    T1 [JZOJ1035] 粉刷匠 题目描述 windy有N条木板需要被粉刷. 每条木板被分为M个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一 ...

  10. 2019-08-17 纪中NOIP模拟B组

    T1 [JZOJ3503] 粉刷 题目描述 鸡腿想到了一个很高(sha)明(bi)的问题,墙可以看作一个N*M的矩阵,有一些格子是有污点的.现在鸡腿可以竖着刷一次,覆盖连续的最多C列,或者横着刷一次, ...

随机推荐

  1. centos tomcat解压版安装

    解压: tar -xzvf apache-tomcat-8.5.23.tar.gz -C /usr/local/java 配置Tomcat的环境变量: export CATALINA_HOME=/us ...

  2. 洛谷题解 P1292 【倒酒】

    原题传送门 题目描述 Winy是一家酒吧的老板,他的酒吧提供两种体积的啤酒,a ml和b ml,分别使用容积为a ml和b ml的酒杯来装载. 酒吧的生意并不好.Winy发现酒鬼们都非常穷.有时,他们 ...

  3. pyqt5加载pdf文档失败

    import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog from PyPDF2 import Pdf ...

  4. cf1012B

    题意简述: 给定一个 n×m的矩阵,其中 q 个位置已经被填充. 有一条规则,如果 (r1,c1) ,(r1,c2),(r2,c1) 均被填充,则 (r2,c2) 也被填充.任何被其他三个位置生成的位 ...

  5. 【论文翻译】An overiview of gradient descent optimization algorithms

    这篇论文最早是一篇2016年1月16日发表在Sebastian Ruder的博客.本文主要工作是对这篇论文与李宏毅课程相关的核心部分进行翻译. 论文全文翻译: An overview of gradi ...

  6. Lucene搜索引擎入门

    一.什么是全文检索?            就是在检索数据,数据的分类:                在计算机当中,比如说存在磁盘的文本文档,HTML页面,Word文档等等......       ...

  7. Spark学习之路 (二十)SparkSQL的元数据[转]

    概述 SparkSQL 的元数据的状态有两种: 1.in_memory,用完了元数据也就丢了 2.hive , 通过hive去保存的,也就是说,hive的元数据存在哪儿,它的元数据也就存在哪儿. 换句 ...

  8. 在eclipse更新启动项目

    说明:figfree是基于模块化开发,代码重用,可拆解性高. 功能模块分为:接口工程(*.Iface).接口实现工程(*.Impl).客户端工程(*.Client) 接口工程(*.Iface):对其他 ...

  9. laravel 解决 sql mode only_full_group_by

    this is incompatible with sql_mode=only_full_group_by 先贴报错是这样的哦,sql 中使用到了 group by 然后这是mysql-5.7以上版本 ...

  10. LeetCode 112. 路径总和 (递归遍历二叉树)

    题目链接:https://leetcode-cn.com/problems/path-sum/ 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和 ...