题目描述 定义矩阵变换 \(F(P)=Q\),其中 \(P\) 和 \(Q\) 是\(n×n\) 的矩阵且满足 \(Q_{i,j}=(\sum^{n}_{k=1}P_{k,j}+\sum_{k=1}^nP_{i,k})mod\space p\)。给定 \(T,n,p\) 和 \(n×n\) 的初始矩阵 \(A\),求 \(A\) 经过 \(T\) 次变换后的结果矩阵。 输入格式 第一行
https://www.acwing.com/problem/content/description/892/ 给定一个整数 \(n\) 和 \(m\) 个不同的质数 \(p_1, p_2, ..., p_m\)。 请你求出 1 ∼ \(n\) 中能被 \(p_1, p_2, ..., p_m\) 中的至少一个数整除的整数有多少个。 二进制枚举所有可能。 #include <bits/stdc++.h> using
1007 Even Tree Split 先考虑最简单的情况,如下图的边\((3,4)\),我们把这条边切掉,最后会留下一部分的点数为2,另一部分的点数依然是偶数。 进一步思考可以知道,对于边\((u,v)\),只要v子树的点数是偶数,这条边就可以切除。 再进一步,统计所有可以切除的边的数量,可以知道,只要从中选择任意多
显然只需要考虑 \(k\vert n\)。如果直接维护是 \(O(nd(n)\log n)\) 的,很寄。 可以证明如果 \(\frac{n}{k}\) 不是素数则不优。这个很好理解,比如对于 \(n=12,k=2,6\),所有 \(k=2\) 的方案一定可以被三个 \(k=6\) 的走法完全覆盖,而且这三个走法平均数还和这个 \(k=2\) 方案一样,那么只
又是废掉的一个div2啊 第一次在学校熬夜打cf,开心还看到了自己最喜欢的斜率优化ohhh 链接 :E - Long Way Home 看到那个平方就可以靠感觉认为是斜率优化了.... 感觉似不似有点想法??k只有20... 可以试着去考虑最后一步用飞机,然后跑dijkstra求出走普通路径的。 其实就这样了... 考虑
点我看题 A - Three Cards 先把所有数按位数从多到少排序,答案的位数一定等于位数最多的三个数的位数之和\(tot\)。对于每个i,把有i位的数排序,并记录每个i的排序结果。最后枚举答案中三个数最靠前的数\(a_i\),然后枚举第二个数的长度\(lenj\),取长度为lenj的数中最大的。如果这个最大
今天晚上听多头发表了著名演讲《我的一个机器人朋友》,我深受启发。虽然z**不是bot,但他却比bot强,说明bot也比不上拥有\(\frac{1}{N_A}\)常数的*阳。好了,不说这些了,再说的话就会有人到我的宿舍来找我算账。 早上来学校入住,半路上我妈打电话来我才知道身份证没带,检查了一下,发现除了身
比赛链接: https://ac.nowcoder.com/acm/contest/33194 A.Car Show 题意: 长度为 \(n\) 的一个序列 \(a\),问有多少个区间中 \([1, m]\) 的数都出现过。 思路: 双指针。 代码: #include <bits/stdc++.h> using namespace std; #define LL long long int main(){ ios::sync_with_stdio(
问题描述 In a confined NIO space, there are nnn NIO particles, the iii-th of which has aia_iai joule energy. The NIO particles are very special as they keep colliding with each other randomly. When one particle carrying energy aaa joule collides with anothe
一.逆元 如果一个线性同余方程 \(ax \equiv 1 \pmod b\),则称 \(x\) 为 \(a \bmod b\) 的逆元,记为 \(a^{-1}\)。 使用方法 对于 \(\frac{a}{b} \bmod p\),求出 \(b \bmod p\) 的逆元,与 \(a\) 相乘并 \(\bmod p\) 得到结果。 优势:避免了分数的精度问题。 求逆元 exgcd 法 求解 \(ax
https://www.luogu.com.cn/problem/P3372 1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 #define lson l,mid,rt<<1 5 #define rson mid+1,r,rt<<1|1 6 #define ll long long 7 const int mac=1e5+50; 8 ll tree[m
简洁题意:求出任三点之间是否存在直接连通或都不连通,若存在,输出 WIN ,否则输出 FAIL 由于数据范围非常小, m<=10 ,则我们可以采用暴力枚举三个点的方式求出答案 #include<bits/stdc++.h> #define N 100010 using namespace std; typedef long long ll; ll G[17][17],m,fri,maxn,unfr
A — Burenka Plays with Fractions 思路:数论 O(1) 见题解 题解: #include<iostream> #include<cstring> #include<algorithm> using namespace std; typedef long long LL; typedef pair<int, int>PII; const int N = 1e5 + 10; LL T, a, b, c, d; LL gcd
朴素Dijkstra 时间复杂度O(n^2) #include<bits/stdc++.h> using namespace std; #define ll long long #define endl "\n" #define fi first #define se second #define pb push_back #define pll pair<ll,ll> const ll mod=1e9+7; const ll N=3e3+9; bool bo
下发文件和题解 T1 接力比赛 既然要求取小白与小黑班级总 值相等时总 的最大值,那么这就可以转化为最简单的 背包问题. 设 和 分别表示小黑和小白班级中 值为 时 的最大值. 枚举 获得 和 ,那么转移显然: 然后扫一遍查询一下和的最大值即可. 点击查看代码 #include<bits/s
发现自己的思路与那篇题解不同,而且可以跑更大的数据,所以来写个题解。 题意:给定一棵满 \(k\) 叉树,树的节点同层从左往右编号,深度较小的节点的编号一定小于深度较大的节点的编号,多次询问两点距离。 先思考 \(k=2\) 的情况。 我们知道,一个节点的左儿子就是它的编号乘二,右儿子的编号就
暑假集训3 数列 好在这个题是单点操作,所以我们保证每一个点的\(opt\)最小就行 所以相当于去求一个 \(\large ax + by\equiv wmx[i] (mod\ \ gcd(a, b))\) 并且保证\(\large abs(x) + abs(y)\)最小(\(x, y\)可以为负),所以,很显然的扩欧 (然鹅扩欧不会写就没救了,可以看看青蛙的约
\(\texttt{「CF1661E」 Narrow Components}\) \(\texttt{Describe}\) 给你一个 \(3\) 行 \(n\) 列的 \(01\) 矩阵 \(a\),其中 \(0\) 表示黑色格子,\(1\) 表示白色格子。 再给出 \(q\) 次讯问,每次询问给出两个整数 \(l,r\) 让你回答区间 \([l,r]\) 白色连通块的数量 \(\texttt{Input
题目描述 题目传送门() 点击查看题目 题目描述 设有 n * m 的方格图,每个方格中都有一个整数。现有一只小熊,想从图的左上角走到右下角, 每一步只能向上、向下或向右走一格,并且不能重复经过已经走过的方格,也不能走出边界。小熊会 取走所有经过的方格中的整数,求它能取到的整数之和
A. 赤 我本来想考虑一下当a=n或b=n的情况,就以另一个变量作为关键字排序,如果a=n就选喜欢吃豆干可能性大的前b个两种食物全给,后面的只给干脆面,结果还交了个0分…… 鉴于这道题的正解既涉及期望,又需要什么wqs二分还套两层,还是来日方长吧…… Cat只有被捕捉的份还不够去捕捉别的猫……
A.P4343 [SHOI2015]自动刷题机 啊对对对,算法都对了,二分写挂了:) Solution 二分答案,每次 \(\mathtt{O(n)}\) 判断当前的 \(mid\) 是否可行,最大和最小分开二分; 注意 : 如果不存在这样的 n 则输出 −1。 我的挂分中多少有没看到这一行的成分在; AC code #include<bits/stdc
题目简化和分析: 因为要求长度最小,所以我们每个字符就应该发挥最大的价值,不会有没有作用的字符。 设有 \(x_1\) 个 \(c\) ,\(x_2\) 个 \(o\) ,\(x_3\) 个 \(d\) ,\(x_4\) 个 \(e\) ,\(x_5\) 个 \(f\) ,\(x_6\) 个 \(o\) ,\(x_7\) 个 \(r\) ,\(x_8\) 个 \(c\) ,\(x_9\) 个 \(e\) ,\(x_{10}\)
题面传送门 因为WC2022考了这种构造,所以下意识将括号序列建树。 手玩一下发现第一个操作实际上是干了这个事情: 也就是说把用其中一个括号将另一个同层括号在树上移到了下一层。 答案的形式是((((((((())))))))),也即括号树形成了一条链。 Case 1 :\(X=Y=0\) 显然答案为\(0\)。 Cas
快速幂 acwing875.快速幂 可以快速求在O(log \(k\))复杂度下出 \(a^{k}\)mod \(p\) 的结果($1\leq a,p,k\leq 10^{9} $) 如果是n组数据,时间复杂度就是O(\(n * log k\)) 基本思路 1.先预处理出来\(a^{2^{0}},a^{2^{1}},...,a^{2^{logk}}\)这k个数 2.将\(a^{k}\)用\(a^{2^{0}},a^{2^
沝黑。 首先这种统计路径的问题一般联想点分治,然后考虑如何处理经过一个点 \(u\) 的路径。 考虑有一个点 \(p\in u\) 的子树,然后记录路径 \(p\to u\) 和路径 \(u\to p\) 的答案。前者放入一个映射统计,后者存在数组 \(S\) 里面。 最后整体统计,枚举 \(x\in S\),设 \(x\lt M\),统计映射