牛客
Sqwlly
有自己热爱的东西,真好。
展开
-
牛客练习赛13 B题 幸运数字Ⅱ
幸运数字Ⅱ时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld题目描述定义一个数字为幸运数字当且仅当它的所有数位都是4或者7。 比如说,47、744、4都是幸运数字而5、17、467都不是。 定义next(x)为大于等于x的第一个幸运数字。给定l,r,请求出next(l) + ne...原创 2018-03-17 13:54:31 · 413 阅读 · 0 评论 -
牛客多校第四场 J-Hash Function ((线段树|并查集)+拓扑排序)
Hash Function题意:给出一个hashhashhash表,求字典序最小的合法插入序列,如果不合法输出−1−1-1,如果为空表输出空行。我们已知已经插入完成的hashhashhash表,那么我们能得出的信息有什么呢?我们知道一个数的值vvv和它所在的位置jjj,还知道它的插入方式。所以,如果一个数xxx不在x%nx%nx\%n的话,那么说明从x%n→j−1x%n→j−1x\%n\t...原创 2018-08-14 22:19:28 · 370 阅读 · 1 评论 -
牛客多校第八场 G-Counting regions(组合数学+几何欧拉公式)
Counting regions这道题呢,其实是一道组合数学的题,再加上欧拉公式。题意:问边数为奇数的正多边形所有的顶点两两相连,直线所分割的区域数量为多少,答案对1e9+71e9+71e9+7取模。我们会发现题目中的图形,除了顶点是不会有三线交于一点的。所以分割区域的区域数量就只取决于点的数量。现在我们未知: 1.1.1.\:一共有多少条直线? 2.2.2.\:这些直线在正多...原创 2018-08-15 16:14:06 · 551 阅读 · 0 评论 -
牛客多校第四场 A-Ternary String(欧拉降幂)
Ternary String问题分析题意:问多长时间后可以将整个序列完全消除,每秒序列会在111后面插入一个000,在222后面插入一个111,作为序列的第一个数字将会消失。最后答案对1e9+71e9+71e9+7取模。 emmm,通过打表就可以发现 假设现有一个长度为nnn的序列, 每次序列插入一个000后,我们需要n+1n+1n+1秒才能将这个序列消除; 每次序列插入一个1...原创 2018-08-08 22:27:48 · 329 阅读 · 8 评论 -
牛客多校第九场 A (fwt-异或卷积)
Circulant Matrix题目描述Niuniu has recently learned how to use Gaussian elimination to solve systems of linear equations. Given n and a[i], where n is a power of 2, let’s consider an n x n matrix A...原创 2018-08-24 23:45:07 · 799 阅读 · 0 评论 -
牛客国庆集训派对Day3 H Travel(连通块计数)
Travel题意:求对于n−1n-1n−1条边连通的nnn个城市进行mmm次旅游,每一座城市恰好旅行一次有多少种方案。(每次至少旅游一座城市)题解:求树分割成mmm块,然后全排列即可。即从n−1n-1n−1条边选择m−1m-1m−1条边进行分割,再对mmm个连通块全排列。C(n−1,m−1)⋅m!C(n-1,m-1)\cdot m!C(n−1,m−1)⋅m!代码#include<b...原创 2018-10-04 18:02:35 · 221 阅读 · 0 评论 -
牛客国庆集训派对Day5 G 贵族用户(枚举)
贵族用户题意:一件衣服可以由kkk种材料合成,第iii种材料数量为cic_ici价格为did_idi个钻石。有mmm档vipvipvip等级,当vipvipvip等级为iii时,优惠为pip_ipi,所以材料价格变为⌈di(1−p)⌉\lceil d_i(1-p)\rceil⌈di(1−p)⌉。问合成衣服最少需要冲多少钻石。题解:枚举每一档vipvipvip即可。代码#includ...原创 2018-10-08 00:12:48 · 163 阅读 · 0 评论 -
牛客国庆集训派对Day6 A Birthday(秦皇岛CCPC_CAMP)最小费用最大流
Birthday题解:本题…关键就在于建图。首先,从源点向每一根蜡烛建一条费用为000流量为111的边。其次,考虑将每个partpartpart拆成nnn个点,代表nnn个时间差,选择第iii个点的时候,就代表第插第iii根蜡烛与第i−1i-1i−1根蜡烛的时间差,因此就是1,3,5,7,9...1,3,5,7,9...1,3,5,7,9...即i2−(i−1)2i^2-(i-1)^2i2−(...原创 2018-10-08 01:20:57 · 210 阅读 · 0 评论 -
牛客国庆集训派对Day6 B(CCPC_CAMP)思维
Board题意:有一个n⋅mn\cdot mn⋅m的矩阵,每次可以给一行或一列加111,问被隐藏的格子的值。题解:这个题有一个很巧妙的思维,假设现在我们有aij,aik,axj,axka_{ij},a_{ik},a_{xj},a_{xk}aij,aik,axj,axk四个点,明显aij,ai,ka_{ij},a_{i,k}aij,ai,k是一行,axj,axka_{xj},a_{x...原创 2018-10-08 09:24:34 · 170 阅读 · 0 评论 -
牛客国庆集训派对Day5 B 电音之王(CCPC_CAMP) 黑科技-蒙哥马利快速乘
电音之王dls专卡Θ(1)\Theta(1)Θ(1)快速乘,orzzzzz,我只想说,dls牛逼!题解:蒙哥马利代码#include <bits/stdc++.h>using namespace std;#define rep(i,a,n) for (int i=a;i<n;i++)#define per(i,a,n) for (int i=n-1;i>=a;...原创 2018-10-08 18:31:54 · 397 阅读 · 0 评论 -
牛客多校第十场 D Rikka with Prefix Sum(组合数学)
Rikka with Prefix Sum题解: 这道题之所以不是线段树,是因为有操作222的存在,将数组AAA转变为了它的前缀和,而且每次操作都和前缀和有关。假设我们现在有一个数组a=[0,0,0,0,0]a=[0,0,0,0,0]a=[0,0,0,0,0],我们先考虑单点修改,起始我们给a[0]+1a[0]+1a[0]+1,我们做几次前缀和看一下。这里我们用ttt代表第几次做前缀和。t=1...原创 2018-10-17 16:05:54 · 287 阅读 · 0 评论 -
牛客练习赛40 C-小A与欧拉路(树形dp | 两次dfs 求树的直径)
C-小A与欧拉路题意:求图中最短的欧拉路。题解:因为是一棵树,因此当从某一个节点遍历其子树的时候,如果还没有遍历完整个树,一定还需要再回到这个节点再去遍历其它子树,因此除了从起点到终点之间的路,其它路都被走了两次,而我们要求总的路程最短,那么我们就让从起点到终点的路最长即可,也就是树的直径。所以答案就是所有边权的两倍再减去树的直径。代码两次dfs#include<bits/st...原创 2019-02-16 10:20:11 · 306 阅读 · 0 评论 -
牛客练习赛41 A B C D E
传送门:https://ac.nowcoder.com/acm/contest/373#questionA. 翻硬币问题题解:很明显如果不能一次拿走,那么BobBobBob总是能翻转其中一枚硬币来破坏nnn与mmm的奇偶性。代码#include<bits/stdc++.h> #define DEBUG(x) std::cerr << #x << '=...原创 2019-03-02 15:11:52 · 369 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场)H Second Large Rectangle(单调栈)
Second Large Rectangle题意:求第二大的全为1的矩形。题解:将矩形分为mmm个竖条,记录每一行1的高度,然后维护一个递增的单调栈,每当新的竖条的高度小于栈顶高度时,维护栈的单调性,在弹出竖条的同时更新答案。如果最大值由x×yx \times yx×y更新,那么求第二大我们还需要通过x×(y−1)x \times (y - 1)x×(y−1)和(x−1)×y(x-1)\tim...原创 2019-07-24 19:10:17 · 167 阅读 · 0 评论 -
牛客多校第七场 A-Minimum Cost Perfect Matching(按位取反)
Minimum Cost Perfect Matching问题分析求一个0→n−10→n−10\to n-1的排列满足使得i&amp;amp;amp;a[i]i&amp;amp;amp;a[i]i\:\&amp;amp;\:a[i]之和最小。 那么我们考虑对每一位按位取反就可以了呀~#include&amp;amp;lt;cstdio&amp;amp;gt;int a[500000];int main(原创 2018-08-09 22:19:08 · 344 阅读 · 0 评论 -
牛客多校第四场 F Beautiful Garden
Beautiful Garden问题分析问,在保证花园对称的情况下,在花园中央(不能涉及边界)建造对称水池的方案数。 假设矩阵上下左右是完全对称的,大小为n×mn×mn\times m,那么方案数由乘法原理不难推出是ans=n−12×m−12ans=n−12×m−12ans = \frac{n-1}{2}\times \frac{m-1}{2}。因为是上下左右对称的,所以我们只需...原创 2018-07-29 19:13:36 · 228 阅读 · 0 评论 -
牛客多校第四场 G Maximum Mode
Maximum Mode问题分析题意就是问你能否精确的删除mmm个数,使得数列中的众数只有一个并且保证值最大化。 如果数列中众数不止一个,那么我们去考虑对于出现次数相同的数,最少删除几个数可以使得它变为众数,我们设这个最少的删除数为minDeleteminDeleteminDelete,如果此时minDelete<=mminDelete<=mminDeletem−minDel...原创 2018-07-29 18:36:28 · 249 阅读 · 1 评论 -
牛客小白月赛1
A-简单题 还好我上学期学过,经过发现Θ是等于e的,所以问题就变得简单了。不多说,上代码。#include<iostream>#include<cstdio>#include<math.h>#include<algorithm>#define PI 3.141592654#define e 2.718281828459045235...原创 2018-03-20 01:22:45 · 441 阅读 · 0 评论 -
牛客网 2018年全国多校算法寒假训练营练习比赛(第四场)F题
Call to your teacher时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld题目描述 从实验室出来后,你忽然发现你居然把自己的电脑落在了实验室里,但是实验室的老师已经把大门锁上了。更糟的是,你没有那个老师的电话号码。你开始给你知道的所有人打电话,询问他们有没有老师的电话,如果没有...原创 2018-02-11 21:33:43 · 569 阅读 · 0 评论 -
埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛(部分题解)
窝本来是参加的现场赛的,现场赛相对于网赛,多了两题,有些题也不一样,可能签到题也多了两道……Wasserstein Distance这题蛮坑喔….现场时因为wa一发就没再去看,去啃异或了,最后才发现wa的一发是因为卡在longlong了T_T 贪心思想,直接从左面往右面扔就行了,用前缀和完美解决。// #include<bits/stdc++.h>#include&...原创 2018-04-16 22:56:41 · 384 阅读 · 0 评论 -
Wannafly挑战赛13 A-B-C
A-zzy的小号做对这道题的关键在于看懂题,并且要注意题中给出的第四种情况,如果字符a和字符b相同,且字符b又和字符c相同,那么字符a和字符c相同。由此可得,输入的字符串中,大小写的L和大小写的i是可以任意替换的,因此ans * = 4;大小写的O和数字0也可以任意替换,因此ans * = 3;最后如果是字母,再 ans *= 2。#include <bits/stdc++.h>...原创 2018-04-07 13:39:23 · 307 阅读 · 0 评论 -
Wannafly挑战赛14 A-直角三棱锥
链接:https://www.nowcoder.com/acm/contest/81/A 来源:牛客网时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld题目描述在三维空间中,平面 x = 0, y = 0, z = 0,以及平面 x + y + z = K 围成了一个三棱锥。 整...原创 2018-04-21 00:45:45 · 425 阅读 · 0 评论 -
2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛
A-PUBG题意:从出发位置到目标位置遇到的敌人数量最少。 BFS+优先队列(板子题。。。wa两发忘了memset了)#include <iostream>#include <algorithm>#include <cmath>#include <queue>#include <cstring>using name...原创 2018-05-05 18:25:03 · 455 阅读 · 0 评论 -
南昌大学航天杯第二届程序设计竞赛校赛网络同步赛 部分题解
A-ID and password 签到题。#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;bits/stdc++.h&gt;#include &lt;algorithm&gt;const int N = 5e4;using namespace std;char s[N];int m原创 2018-05-21 17:05:46 · 402 阅读 · 0 评论 -
牛客练习赛18 B-简单多边形
B-简单多边形时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld题目描述为了让所有选手都感到开心,Nowcoder练习赛总会包含一些非常基本的问题。 比如说: 按顺时针或逆时针方向给你一个简单的多边形的顶点坐标,请回答此多边形是顺时针还是逆时针。 输入描述:输入包含N + 1...原创 2018-05-25 10:49:28 · 328 阅读 · 0 评论 -
中南林业科技大学第十一届程序设计大赛部分题解
C-有趣的二进制 这题注意两点。 一是因为计算机里存储整数都是补码形式,其次是负数的情况,如果是负数移位后会在最高位补1,那么就不能正确统计个数,而且程序会死循环,所以这里必须转换成usigned long long去做(变成无符号整数)。#include &lt;bits/stdc++.h&gt;using namespace std;int count_one_bits(unsi...原创 2018-05-21 21:17:03 · 427 阅读 · 0 评论 -
Wannafly挑战赛16 A B
A-取石子 从四个石子堆堆顶取石子,问有多少种取法,结果对1e9+7取模。 组合数问题C(a+b+c+d,a)⋅C(b+c+d,b)⋅C(c+d,c)C(a+b+c+d,a)⋅C(b+c+d,b)⋅C(c+d,c)C(a+b+c+d,a)\cdot C(b+c+d,b)\cdot C(c+d,c) 化简一下就是(a+b+c+d)!a!(b+c+d)!(a+b+c+d)!a!(b+c+d)!(...原创 2018-05-27 17:04:48 · 281 阅读 · 0 评论 -
牛客练习赛21 B-黑妹的游戏II
题意有一个n*m的棋盘,每格子有非负分数,黑妹先手,每次只能下上一个人选择的方格的右方或者下方,黑妹和黑弟都在知道最优策略的情况下,从左上角开始到右下角结束,求黑妹最后获得的分数减去黑弟的分数差是多少。问题分析我们由黑妹先手可得,黑妹一定可以获得左上角和右下角的分数,我们采用逆向dp的思路。 dp[i][j]=min(dp[i][j],−dp[i][j]+a[i][j])dp[i][...原创 2018-06-30 23:17:18 · 354 阅读 · 0 评论 -
牛客多校第一场 J-Different Integers
J-Different Integers 问题分析第一次知道了是什么是离线+树状数组….. 首先题意就是要找两段区间里的不同数的个数。我们记1−n1−n1-n之间不同的个数为totaltotaltotal。 对于若干个区间,我们对这些区间的右端点从小到大排序。 考虑去求(l,r)(l,r)(l,r)不同数字的的个数,假设r=last[x]r=last[x]r=last[x],那么...原创 2018-07-23 21:29:19 · 321 阅读 · 1 评论 -
牛客多校第四场 D Another Distinct Values
Another Distinct Values问题分析首先可以打表找规律,其次可以自己构出矩阵。 看了好多大佬的方法都是自己找规律手动构图Orz 其中一种就是根据已给出的n=2n=2n=2的矩阵往出构造n=4n=4n=4的矩阵(打表的话可以发现nnn为奇数时是无解的,证明略(主要不会hhh))。当边长增加2时,我们将前一个矩阵放在中间,然后依次往边上赋值,但是要保证上下和左右抵消掉(比...原创 2018-07-29 00:30:15 · 301 阅读 · 0 评论 -
2019牛客暑期多校训练营(第九场)D Knapsack Cryptosystem(折半搜索)
Knapsack Cryptosystem题意:给出一个序列{ai}\{a_i\}{ai}和一个指定的子集和sss,输出子集(用01表示)。题解:问题就在于aia_iai的值最大有2×10172\times 10^{17}2×1017,0<s<9×10180<s < 9\times 10^{18}0<s<9×1018,因此...原创 2019-08-15 22:10:05 · 194 阅读 · 0 评论