题面:https://www.cnblogs.com/Juve/articles/11639923.html simple: 考试时只想到的暴力exgcd判断 考虑n,m互质的情况: 我们枚举y,对于方程$n*x+m*y \leq q$,$x\leq\frac{q-m*y}{n}$ 其中y的范围是[0,n-1],因为如果y大于n-1,那么可以使x的系数加一,会有重复 然后如果n,m不互质,那么设$n=n'*gcd(n,m),m=m'*gcd(n,m)$,所以$n'*gcd(n,m)*x+m'*g…
状态极差的两场.感觉现在自己的思维方式很是有问题. (但愿今天考试开始的一刻我不会看到H I J) A 考场上打了最短路+贪心,水了60. 然而正解其实比那30分贪心好想多了. 进行n次乘法后的结果一定可以化成$S\times b^n + m\times a$的形式,并且$m$是b的若干次幂(带系数)之和. 也就是说,$m=\frac{T-S\times b^n}{a}$可以写成$b$进制数,当然前提是$T-S \times b^n \ mod\ a=0$. 那么这个b进制数的系数之和其实就是加…
题目链接: http://172.16.0.132/senior/#contest/show/2530/1 题目: EZ同学家里非常富有,但又极其的谦虚,说话又好听,是个不可多得的人才.        EZ常常在假期环游世界,他准备去N(N<=100000)个国家之多,一些国家有航线连接,由于EZ同学有一定的强迫症,任意两个国家之间都能通过航路直接或间接到达,并且这样的路径仅有一种.(简单来说,这些国家构成了一棵树)         由于EZ是C国人,因此将C国(1号国家)作为整棵树的根   …
题目链接:https://www.jisuanke.com/contest/6516 A:题目: 我们称一个数是质数,而且数位中出现了 5 的数字是有趣的. 例如 5, 59, 457.求1到100000中有趣的数的个数. 题解:无脑分解和暴力枚举素数即可. 代码: #include <algorithm> #include <cstdio> #include <cmath> #include <cstring> #include <iostream&…
由于只会T1,没法写游记,只好来写题解了... 题目链接 题目大意 给你一个数列,每次可以任取两个不相交的区间,取一次的贡献是这两个区间里所有数的最小值,求所有取法的贡献和,对 \(10^9+7\) 取模. 数列长度 \(2\times 10^5\) ,值域 \(1\) ~ \(10^9\) . \(O(n^4)\) 做法 预处理区间最小值,枚举选的两个区间. #include <iostream> #include <cstdio> #include <algorithm&…
http://www.lydsy.com/JudgeOnline/problem.php?id=3076 https://www.luogu.org/problemnew/show/P3081#sub 有N(1 <= N <= 100,000)座小山,每座山所占的区域用直线(x1, y1) 到 (x2, y2)来表示(x1 < x2 并且 y1 < y2).也就是说这些山用笛卡尔坐标系里的线段来表示,这些用于表示小山的线段都没有任何交点,第一座山的一端位于(x1, y1) = (0…
上星期打的...题有点水,好多人都AK了 T1排个序贪心就好了 #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<algorithm> #define ll long long using namespace std; ,inf=1e9; struct poi{int e,s;}a[maxn]; int n,m,s,k,x,y,cnt;…
题目链接: https://jzoj.net/senior/#main/show/5177 题目: 题解: 首先选出的泡泡怪一定是连续的一段 L,R 然后 L 一定属于虫洞左边界中的某一个 R 也同样是这样的 这样就可以枚举 L 和 R,$O(N)$判断是否可行(显然不可能重复经过某个点),总复杂度 $O(NM^2)$ 我们看到 R<=1e6 选择二分 R 而不是枚举,这样就可以了 #include<algorithm> #include<cstring> #include&…
题目描述 给定一棵$n$个节点的树,每条边的长度为$1$,同时有一个权值$w$.定义一条路径的权值为路径上所有边的权值的最大公约数.现在对于任意$i\in [1,n]$,求树上所有长度为$i$的简单路径中权值最大的是多少.如果不存在长度为$i$的路径,则第$i$行输出$0$. 输入格式 第一行,一个整数$n$,表示树的大小.接下来$n-1$行,每行三个整数$u,v,w$,表示$u,v$间存在一条权值为$w$的边. 输出格式 对于每种长度,输出一行,表示答案. 样例 样例输入: 31 2 31 3…
题目描述 在比特镇一共有$n$个街区,编号依次为$1$到$n$,它们之间通过若干条单向道路连接. 比特镇的交通系统极具特色,除了$m$条单向道路之外,每个街区还有一个编码${val}_i$,不同街区可能拥有相同的编码.如果${val}_i\ and\ {val}_j={val}_j$,即$val_i$在二进制下与${val}_j$做与运算等于${val}_j$,那么也会存在一条额外的从$i$出发到$j$的单向道路. $Byteasar$现在位于$1$号街区,他想知道通过这些道路到达每一个街区最少…
题面(加密) 又考没学的姿势……不带这么玩的…… 考场上打了个模拟 骗到30分滚粗了 稍加思考(滑稽)可将题面转化为: 求一个最大的$d$,使得 $\sum \limits _{i=1}^n {(\left \lceil \frac{a_i}{d} \right \rceil *d-a_i)} \leq k$ 移项可得 $\sum \limits _{i=1}^n {\left \lceil \frac{a_i}{d} \right \rceil *d} \leq k+\sum \limits…
题目 比赛界面. T1 数据范围明示直接\(O(n^2)\)计算,问题就在如何快速计算. 树上路径统计通常会用到差分方法.这里有两棵树,因此我们可以做"差分套差分",在 A 树上对 B 的差分信息进行差分.在修改的时候,我们就会在 A 上 4 个位置进行修改,每次修改会涉及 B 上 4 个位置的差分修改,因此总共会涉及 16 个差分信息的修改. 回收标记的时候,我们可以先在 A 树上进行 DFS ,回收好子树内的差分信息后,再进行一次 B 的回收,得到当前节点上 B 的真实信息. 时间…
题目 比赛界面. T1 不难想到,对于一个与\(k\)根棍子连接的轨道,我们可以将它拆分成\(k+1\)个点,表示这条轨道不同的\(k+1\)段. 那么,棍子就成为了点与点之间的边.可以发现,按照棍子连边之后,我们一定可以得到一些链.假设每条轨道的最后一段作为链头,查询实际上就是查询所在链的链头. 使用 LCT 或 Splay 维护这些链即可,时间\(O(n\log_2n)\). #include <cstdio> #include <vector> using namespace…
Content 一条直线上有 \(n\) 个城市,第 \(i\) 个城市的坐标为 \(x_i\).你在某一个城市内,每一次你可以按两种方式之一进行移动: 左右移动,每移动一个单位疲劳值增加 \(a\). 瞬移到某一个坐标,疲劳值增加 \(b\). 求出去过所有的城市的最小疲劳值. 数据范围:\(2\leqslant n\leqslant 10^5,1\leqslant x_i,a,b\leqslant 10^9,x_i\leqslant x_{i+1}\). Solution 简单的模拟. 我们…
最少分组 题意 \(n\) 个点 \(m\) 条边的无向图,可以删掉 0 条或多条边,求满足条件的最小连通块数量: 对每个顶点对 \((a,b)\) ,若 \(a\) 和 \(b\) 同属于一个连通块,则 \(a,b\) 之间有边 \(n\le 18\) 题解 显然状压 设 \(f[V]\) 表示点集为 \(V\) 时的答案,则 \[f[V]=\min f[V']+f[V-V'] \] 其中 \(V'\) 是 \(V\) 的子集 初始化:\(f[S]=1\) 当且仅当 \(S\) 是原图的完全字…
肝了两题... T1一眼题,分解质因数,找出2的个数和5的个数取min输出 #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<algorithm> #define ll long long using namespace std; ,inf=1e9; int n,m,T; int fac2[maxn],fac5[maxn]; void…
P1042 乒乓球 字符串string的基本使用 #include <iostream> #include <algorithm> #include <map> #include <vector> #include <ctime> using namespace std; static const auto y = []() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); re…
P1328 生活大爆炸版石头剪刀布 这也是打表么?? #include <iostream> using namespace std; static const auto y = []() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); return 0; }(); int guize[5][5]={ {0,0,1,1,0}, {1,0,0,1,0}, {0,1,0,0,1}, {0,0,1,0,1}, {1,1,0,0,0…
题意: 有 n 群怨灵排成一排,燐每秒钟会选择一段区间,消灭至多 k 只怨灵. 如果怨灵数量不足 k,则会消灭尽量多的怨灵. 燐作为一只有特点的猫,它选择的区间是不会相互包含的.它想要知道它每秒最多能消灭多少怨灵. 要求:在之前每次都消灭尽量多的怨灵的情况下,求第 i 秒最多能消灭的怨灵的数量. 首先,这题可以用网络流做部分分. 考虑如何判断是否可行: 有一种显然的二分图匹配:把每个询问放在X部,怨灵放在Y部. 然后,把询问,怨灵分别拆点,进行区间连边,做匹配,如果有完美匹配,则可行. 但是,如…
每日一题 day5 打卡 Analysis 深搜+剪枝+瞎jb判断 1.越界 2.这个点无色 3.当前的价值已经比答案大 三种情况要剪枝 我搜索里判断要不要施法的时候没判断上一次有没有施法,白调了0.5h,呵呵~~~ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #define maxn 100+10 #defin…
[问题描述] Mark Douglas是一名优秀的锻造师.与他优秀的锻造水平不相符,他非常穷,以至于很多好刀都因为缺少素材缺少资金无法打造. Mark把他有能力锻造的所有n种刀建成了一棵锻造树,除了第1种刀可以直接打造以外,其他的刀都只能从某一种刀加工而来.具体而言,第i种刀只能从第fai种刀加工而来,花费的费用为wi,但是第fai种刀不能由第i种刀逆加工得到.Mark定义一种刀的价值为利用他现有的刀进行打造的花费.他虽然穷,但是眼光很高,价值低于一定值的刀他都看不上.现在有q次询问,每次询问当…
啊啊啊啊啊啊啊啊考场上差一点就A掉了5555 千里之堤溃于蚁穴……鬼知道最后一步那么显然的柿子我为什么没考虑用上…… 观察数据范围可知,出题人期望我们想出一个$O(n)$的做法 当然也有可能是$O(nlogn)$,但是这道题所求的数值与树上每个点的权值有关, 似乎用点分治并不能够解决. 那怎么办?树形dp啊.保证严格$O(n)$. 有了这样的思路,我们先来看第一问,并设计一个可以用一遍dfs计算出数组$b[]$的算法. 各位想必知道,树形dp的基本思想是$"Up\ and\ Down"…
达哥送分给我我都不要,感觉自己挺牛批. $type=0:$ 跟visit那题类似,枚举横向移动的步数直接推公式: $ans=\sum C_n^i \times C_i^{\frac{i}{2}} \times C_{n-i}^{\frac{n-i}{2}},i\% 2=0$ $type=1:$ 因为不能触碰负半轴,所以可以把右移看成+1,左移看成-1,转化为前缀和大于等于0的问题 于是直接Catalan数就好了.注意是第$\frac {n}{2}$项的Catalan. $Catalan_n=C_…
Orz 出题人石二队爷 我们可以先求出有n个点的联通欧拉图数量,然后使它删或增一条边得到我们要求的方案 也就是让它乘上$C_n^2$ (n个点里选2个点,要么删边要么连边,选择唯一) 那么接下来就是求有n个点的联通欧拉图数量$f[n]$ 首先来看欧拉图的定义: 一张无向图为欧拉图,当且仅当无向图连通,并且每个点的度数都是偶数. 那么设共有n个点且所有点度数皆为偶数的方案数为$g[n]$ 之后尝试计算出来它 先把一个点拿出来,剩$n-1$个点 从这$n-1$个点中选2个点,这两点之间可以连或不连边…
题目   比赛界面. T1   比较简单.容易想到是求鱼竿的最大独立集.由于题目的鱼竿可以被分割为二分图,就可以想到最大匹配.   尝试建边之后会发现边的数量不小,但联系题目性质会发现对于一条鱼竿,它会影响的垂直方向上的鱼竿一定是一个区间,因此再套一发线段树优化即可.   这里不建议写倍增优化,因为倍增的点是\(O(n\log_2n)\),而网络流的时间是\(O(n^2m)\),因此可能会慢一些.   当然,你知道,这细网咯流咩......时间复杂度还是比较emmmm......的   代码:…
前言: 真的是不容易啊.这个题在考场上想到了最关键的性质,但是没写出来. 后来写出来,一直调,小错不断. 没想到改的最后一个错误是两个int 乘起来爆了int 其实最后我还是觉得复杂度很假.\(n^2\) 过百万. 此处对拍使用了DeepinC的代码,计算正确答案使用了硕队和张大仙的代码,感谢. 不过我感觉写的太罗嗦了,200行. 解析: 容易发现,每个建筑长高,当且仅当它左右都比它高.于是考场上我扫了一边,拿到了0分的好成绩. 因为如果这样想的话,一个建筑是可以长高多次的.假如有一个序列 \(…
NOIP模拟赛第7场题解: 题解见:http://www.cqoi.net:2012/JudgeOnline/problemset.php?page=13 题号为2221-2224. 1.car 边界要当做建筑物. 只需要判断是否存在一个'.',至少三面都是建筑.那么这个点就是所谓的“死胡同”. 2.gcd 利用整数唯一分解定理,求出A,B的所有质因数和该质因数出现的次数. 对A,B的公共质因数取其出现次数的最小值,再将该质因数的最小值次幂累乘起来即可. 3.pair 这是一道非常有质量的题,很…
大模拟好啊! 万一远古计算机让我写个解释器还真是得爆零了呢. 题目背景 「千歌です」(我是千歌).「曜です」(我是曜).「ルビィです」(我是露比).「3人合わせて.We are CYaRon! よろしくね!」(三人在一起,我们是CYaRon!多多指教哦!) CYaRon!的三人在学习了编程之后,决定发明一种自己的编程语言,她们称为CYaRon!语. (ltt: 明明是我帮她们发明的.) 可是,因为洛谷评测机这时候突然爆了,ltt没有时间再帮CYaRon!的三位小姐姐写CYaRon!语的解释器了.…
好玩的模拟题. 以后要经常写模拟题鸭 题目描述 游戏背景 <猪国杀>是一种多猪牌类回合制游戏,一共有\(3\)种角色:主猪,忠猪,反猪.每局游戏主猪有且只有\(1\)只,忠猪和反猪可以有多只,每只猪扮演\(1\)种角色. 游戏目的 主猪 / MP:自己存活的情况下消灭所有的反猪. 忠猪 / ZP:不惜一切保护主猪,胜利条件与主猪相同. 反猪 / AP:杀死主猪. 游戏过程 游戏开始时,每个玩家手里都会有\(4\)张牌,且体力上限和初始体力都是\(4\). 开始游戏时,从主猪开始,按照逆时针方向…
A - The First Day at SchoolTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87157#problem/A Description Vasya is a young and very promising android. Today is his first day at University. Vasya has ver…