算法刷题
文章平均质量分 52
郭晋龙
压力面前保持优雅
展开
-
团体程序设计天梯赛(L2-020 功夫传人 (25 分))
题目:思路分析:就是一个简单的暴力dfs遍历树的问题 建树可以用邻接表来实现!代码实现:const int MAX=100100;vector<int>v[MAX];int t[MAX];int n;double k,z;double ans;double val[MAX];void dfs(int u){ if(t[u]) ans+=val[u]; for(int i=0;i<v[u].size();i++){ int.原创 2021-11-01 12:25:32 · 240 阅读 · 0 评论 -
全国大学生算法设计与编程挑战赛(秋季赛)(题解报告)
A-登神长阶B-占座位C-网络流D-迷宫E-老鹰捉小鸡F-收座位G-巧克力I-买装备原创 2021-10-31 15:21:20 · 1601 阅读 · 0 评论 -
团体程序设计天梯赛(L2-002 链表去重 (25 分))
题目:思路分析:我们要就是把二个链表分开打印出来所以根本没有必要来模拟链表什么的!一个骚操作就是没有vis的放前面 vis过的+MAX置后 同时进行二个链表的计数k1,k2然后按照他们用来顺序输出即可代码实现:const int MAX=1e5;const int N=1e5;struct node{ int next,dz,num; int key;}e[MAX];bool cmp(node a,node b){ return a.n.原创 2021-10-28 13:36:46 · 458 阅读 · 0 评论 -
团体程序设计天梯赛(L2-001. 紧急救援)(dijstra优化)(25分)
题目:思路分析:其实就是在最短路的条件下多了一约束条件尽可能的使救援队伍更大数据大于200 Floyd不好用了 直接dji吧!就是在路径更新时候多一点救援队伍数量的约束求最短路的路径数也简单 dfs解决就行代码实现:const int MAX=1010;struct node{ int next,to,w;}e[510*510];struct l{ int w,v; bool operator <(const l&a) .原创 2021-10-28 10:28:55 · 529 阅读 · 0 评论 -
2021牛客OI赛前集训营-普及组(第七场)(A+B+C+D)
周末没事干了 打算水一局普及句 没想到翻跟头了ll都可以忘了开!!!该死【免费】2021牛客OI赛前集训营-普及组(第七场)_CSP/NOI/信息学奥赛培训提高_牛客竞赛OJAint n, t;int main(){ cin >> n >> t; cout << t % (n * n) / n + 1 << " " << t % n + 1; return 0;}B#inclu...原创 2021-10-17 22:32:52 · 462 阅读 · 0 评论 -
算法竞赛入门经典 每日一题(合并回文子串)
题号:NC13230时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述输入两个字符串A和B,合并成一个串C,属于A和B的字符在C中顺序保持不变。如"abc"和"xyz"可以被组合成"axbycz"或"abxcyz"等。我们定义字符串的价值为其最长回文子串的长度(回文串表示从正反两边看完全一致的字符串,如"aba"和"xyyx")。需要求出所有可能的C中价值最大的字符串,输出这个最...原创 2021-10-17 13:40:13 · 177 阅读 · 0 评论 -
牛客挑战赛53 题解(A+B+C)
智乃哥哥的小迷题A:最理想的是1=11+2=31+2+3=61+2+3+4=101+2+3+4+5=15那么要凑10 直接就是4了那如果凑11 12呢我们可以15-1-1-1-1 当然不是最优解我们只需要-4即可我们可以1+2-1+4+5=11 凑-4那么凑-3呢只需要 1-1+3+4+5=12但是要凑-1呢我们只能才最后的位置-1即可我们要求n*(n+1)/2==x的 n 可以拿二分来找int main(){ int t;.原创 2021-10-15 23:56:09 · 333 阅读 · 0 评论 -
算法竞赛入门经典 每日一题(wyh的吃鸡)
题目描述最近吃鸡游戏非常火,你们wyh学长也在玩这款游戏,这款游戏有一个非常重要的过程,就是要跑到安全区内,否则就会中毒持续消耗血量,我们这个问题简化如下假设地图为n*n的一个图,图中有且仅有一块X的联通快代表安全区域,有一个起点S代表缩圈的时候的起点,图中C代表的是车(保证车的数量小于等于100),标记为.的代表空地,可以任意通过,O代表障碍物不能通过。每次没有车的时候2s可以走一个格(只能走自己的上下左右4个方向),有车的话时间为1s走一个格现在告诉你最多能坚持的时间为t秒,问你在...原创 2021-10-15 15:16:21 · 494 阅读 · 0 评论 -
算法竞赛入门经典 每日一题(锁)
锁题解 讨论 查看他人的提交 我的提交题号:NC14732时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述106号房间共有n名居民, 他们每人有一个重要度。房间的门上可以装若干把锁。假设共有k把锁,命名为1到k。每把锁有一种对应的钥匙,也用1到k表示。钥匙可以复制并发给任意多个居民。每个106房间的居民持有若干钥匙,也就是1到k的一个子集。如果几名居民的钥...原创 2021-10-14 19:18:53 · 256 阅读 · 0 评论 -
Network(dfs遍历树)
NetworkUVALive - 3902const int MAX=10010;int n,s,k;int t;int cov[MAX];int fa[MAX];vector<int>g[MAX];vector<int>hi[MAX];void dfs(int u,int f,int h){ fa[u]=f; int num=g[u].size(); if(num==1&&h>k) hi[...原创 2021-10-11 22:24:18 · 153 阅读 · 0 评论 -
Assemble(二分)
Assemble最小值最大------》二分UVALive - 3971int t;int n,b;int cnt;const int MAX=100010;map<string,int>mp;struct node{ int pr,pz;};int id(string s){ if(!mp.count(s)) mp[s]=cnt++; return mp[s];}vector<node>v[MAX];..原创 2021-10-11 20:15:24 · 154 阅读 · 0 评论 -
2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛)1002
Kanade Doesn't Want to Learn CGTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 1786Accepted Submission(s): 374Problem DescriptionComputational geometry and computer graphics are such ha...原创 2021-10-10 22:09:34 · 356 阅读 · 0 评论 -
2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛)1004
Primality TestTime Limit: 10000/5000 MS (Java/Others)Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 5305Accepted Submission(s): 2464Problem DescriptionA positive integer is called aprimeif it is greater than1and cannot...原创 2021-10-10 21:58:28 · 436 阅读 · 0 评论 -
减数游戏(优先队列+普通队列)
减数游戏比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述dstdst喜欢对序列操作。他的好胖友tanaotanao送给他一个序列a1...ana1...an。dstdst进行n−1次操作,每次操作删去序列中任意两个数a,b,并往序列中加入一个数a×b+k。设最后剩下的数为p,tanaotanao想知道p可能的最大值。注意并不能完全用优先队列 因...原创 2021-10-10 01:27:35 · 719 阅读 · 0 评论 -
二分图知识总结
二分图:简单的说就是把图中的点分成二组,并且使得所有的边都跨越组的边界。匹配:任意二条边都没有公共都顶点最大匹配:一个图的匹配边数最多完美匹配:一个图中的某个匹配中,所有的顶点都是匹配点交替路:从一个未匹配的点出发,走交替路 依此经过匹配边 非匹配边 匹配边 ......形成的路径叫交替路增广路:从一个未匹配点出发走交替路,经过一个未匹配的点最大独立数:选取最多的点 使任意所选二点均不相连最小点覆盖数:选取最少的点 是任意一条边至少有一个端点被选择最小路径覆盖数:对于一个DA原创 2021-10-09 21:56:12 · 125 阅读 · 0 评论 -
分层图总结(例题)
分层图:是指在一个图上有多次机会通过一条边而不需要计算权值或者有特殊权值然后求最短路径或者是有多次可以逆行的机会基本思路有二种:1)动态规划2)分层图构图步骤是:1)将原图复制k+1次2)然后对ui到vi+1进行操作附上例题 :[JLOI2011]飞行路线题目描述Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市...原创 2021-10-07 22:42:48 · 298 阅读 · 0 评论 -
送外卖2(三进制状态dp+最短路)
送外卖2题解 讨论 查看他人的提交 我的提交题号:NC13252时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld题目描述美团外卖日订单数已经超过1200万,实时调度系统是背后的重要技术支撑,其中涉及很多复杂的算法。下面的题目是某类场景的抽象。一张nn个点mm条有向边的图上,有qq个配送需求,需求的描述形式为(si,ti,li,risi,ti,l...原创 2021-10-07 02:01:08 · 213 阅读 · 0 评论 -
最小总代价(状压dp)
最小总代价描述n个人在做传递物品的游戏,编号为1-n。游戏规则是这样的:开始时物品可以在任意一人手上,他可把物品传递给其他人中的任意一位;下一个人可以传递给未接过物品的任意一人。即物品只能经过同一个人一次,而且每次传递过程都有一个代价;不同的人传给不同的人的代价值之间没有联系;求当物品经过所有n个人后,整个过程的总代价是多少。格式输入格式第一行为n,表示共有n个人(16>=n>=2);以下为n*n的矩阵,第i+1行、第j列表示物品从编号为i的人传递到编号为j的人所原创 2021-10-07 01:18:24 · 199 阅读 · 0 评论 -
数列互质(莫队离线算法)
题目描述给出一个长度为 n 的数列 { a[1] , a[2] , a[3] , ... , a[n] },以及 m 组询问 ( l[i] , r[i] , k[i])。求数列下标区间在 [ l[i] , r[i] ] 中有多少数在该区间中的出现次数与 k[i] 互质(最大公约数为1)。输入描述:第一行,两个正整数 n , m (1 ≤ n, m ≤ 50000)。第二行,n 个正整数 a[i] (1 ≤ a[i] ≤ n)描述这个数列。接下来 m 行,每行三个正整数 l[i] ,...原创 2021-10-06 22:13:47 · 345 阅读 · 0 评论 -
矩阵消除游戏(状压+dfs)
矩阵消除游戏比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述牛妹在玩一个名为矩阵消除的游戏,矩阵的大小是nn行mm列,第ii行第jj列的单元格的权值为ai,jai,j,牛妹可以进行kk个回合的游戏,在每个回合,牛妹可以选择一行或者选择一列,然后将这一行或者这一列的所有单元格中的权值变为00,同时牛妹的分数会加上这一行或者这一列中的所有单元格的权值的和。...原创 2021-10-06 16:00:12 · 581 阅读 · 0 评论 -
CCF-CSP 第23次认证考试 202109-3脉冲神经网络(模拟)(100分)
问题描述试题编号: 202109-3 试题名称: 脉冲神经网络 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 在本题中,你需要实现一个 SNN(spiking neural network,脉冲神经网络)的模拟器。一个 SNN 由以下几部分组成: 神经元:按照一定的公式更新内部状态,接受脉冲并可以发放脉冲 脉冲源:在特定的时间发放脉冲 突触:连接神经元-神经元或者脉冲源-神经元,负责传递脉冲原创 2021-10-06 13:21:08 · 5252 阅读 · 7 评论 -
装备合成(三分)
装备合成比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述牛牛有xx件材料aa和yy件材料bb,用22件材料aa和33件材料bb可以合成一件装备,用44件材料aa和11件材料bb也可以合成一件装备。牛牛想要最大化合成的装备的数量,于是牛牛找来了你帮忙。输入描述:输入包含tt组数据第一行一个整数tt接下来tt行每行两个整数x,yx,y输出描述...原创 2021-10-05 21:18:02 · 206 阅读 · 0 评论 -
Dis2(dfs树)
Dis2比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述给出一颗nn个点n−1n−1条边的树,点的编号为1,2,...,n−1,n1,2,...,n−1,n,对于每个点i(1≤i≤n)i(1≤i≤n),输出与点ii距离为22的点的个数。两个点的距离定义为两个点最短路径上的边的条数。输入描述:第一行一个正整数nn。接下来n−1n−...原创 2021-10-05 19:13:18 · 216 阅读 · 0 评论 -
斩杀线计算大师(暴力解方程)
斩杀线计算大师比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288KSpecial Judge, 64bit IO Format: %lld题目描述算术能力是每个炉石玩家必不可少的,假设现在有三种伤害卡,伤害值分别是a,b,ca,b,c。并且每种伤害卡的数量你可以认为是无限的。现在牛牛想知道是否存在一种方式可以刚好造成kk点伤害,输出x,y,zx,y,z分别表示三种伤害卡的使用个数。数据保证一定存在解。如...原创 2021-10-04 19:59:59 · 173 阅读 · 0 评论 -
操作集锦(dp)
操作集锦比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述有一款自走棋有26种操作,每种操作我们都用a,b,c,d,...,x,y,za,b,c,d,...,x,y,z的符号来代替.现在牛牛有一个长度为nn的操作序列,他现在可以从里面拿出某些操作来组合成一个操作视频, 比如说操作序列是abcdabcd,那么操作视频就有a,b,c,d,ab,ac,ad...原创 2021-10-04 15:46:45 · 116 阅读 · 0 评论 -
三角形周长和(思维规律)
三角形周长和比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述给定平面上nn个点的坐标,并且我们定义两个点的距离为曼哈顿距离.曼哈顿距离是指对两个点(x1,y1),(x2,y2)(x1,y1),(x2,y2),他们之间的距离为∣x2−x1∣+∣y2−y1∣∣x2−x1∣+∣y2−y1∣..众所周知三个点可以构成一个三角形,那么nn个...原创 2021-10-04 15:04:21 · 146 阅读 · 0 评论 -
Tree Recovery(树状数组)
Tree Recovery比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述You haveNintegers,A1,A2, ... ,AN. You need to deal with two kinds of operations. One type of operation is to add some given number to eac...原创 2021-10-04 13:43:40 · 252 阅读 · 0 评论 -
字符串的问题(string暴力substr+
字符串的问题比赛主页 我的提交时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述有一个字符串 让你找到这个字符串 S 里面的子串T 这个子串 T 必须满足即使这个串的前缀 也是这个串的后缀 并且 在字符串中也出现过一次的(提示 要求满足前后缀的同时也要在字符串中出现一次 只是前后缀可不行 输出最长满足要求字符串)输入描述:给出一个字符串 长度 1 到 1e6 全...原创 2021-10-04 13:42:25 · 112 阅读 · 0 评论 -
集合问题(二分)
集合问题比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述给你a,b和n个数p[i],问你如何分配这n个数给A,B集合,并且满足:若x在集合A中,则a-x必须也在集合A中。若x在集合B中,则b-x必须也在集合B中。输入描述:第一行 三个数 n a b 1<=n<=1e5 1<=a,b<=1e9第二行 n个...原创 2021-10-04 03:34:26 · 147 阅读 · 0 评论 -
The Biggest Water Problem(大水题)
The Biggest Water Problem比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld题目描述给你一个数,让他进行巴啦啦能量,沙鲁沙鲁,小魔仙大变身,如果进行变身的数不满足条件的话,就继续让他变身。。。直到满足条件为止。巴啦啦能量,沙鲁沙鲁,小魔仙大变身:对于一个数,把他所有位上的数字进行加和,得到新的数。如果这个数字是个位数的话,那么他就满足条...原创 2021-10-04 03:10:45 · 477 阅读 · 0 评论 -
逆序数(归并排序+树状数组)
题目描述在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。比如一个序列为4 5 1 3 2, 那么这个序列的逆序数为7,逆序对分别为(4, 1), (4, 3), (4, 2), (5, 1), (5, 3), (5, 2),(3, 2)。输入描述:第一行有一个整数n(1 <= n <= 100000), 然后第二行跟着n个整数,对于第i个数a[i],(0 <= a[i] &l...原创 2021-10-04 03:04:20 · 127 阅读 · 0 评论 -
2021牛客国庆集训派对day1 -Removal(动态规划)
Removal比赛主页 我的提交时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述Bobo has a sequence of integers s1, s2, ..., snwhere 1 ≤ si≤ k.Find out the number of distinct sequences modulo (109+7) after removing exactly m...原创 2021-10-02 18:16:35 · 164 阅读 · 0 评论 -
字符统计(模拟)
字符统计比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述给出一段字符,请统计这段字符有几行,几个单词和几个字符。定义单词为用空格或者换行符隔开的连续字符字符定义为包括一般可见字符以及空格输入描述:第一行一个正整数 TT,代表测试数据的组数第二行开始为第一组测试数据,测试数据每行不超过10241024个字符每两组测试数据之间...原创 2021-09-30 02:53:34 · 160 阅读 · 0 评论 -
拼三角(暴力dfs跑组合)
拼三角比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述给出6根棍子,能否在选出3根拼成一个三角形的同时剩下的3根也能组成一个三角形?输入描述:首先在一行中给出一个 t,1≤t≤103t,1≤t≤103,代表测试数据的组数接下来t行,每行给出6个数字代表棍子长度,棍子长度为正且小于109109输出描述:在一行中输出 “Yes” ...原创 2021-09-29 22:20:53 · 334 阅读 · 0 评论 -
第 k 小(优先队列)
第 k 小比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述有一个长度为n的数组,值为 a[i], 牛牛想找到数组中第 k 小的数。比如 1 2 2 3 4 6 中,第 3 小的数就是2.牛牛觉得这个游戏太简单了,想加一点难度,现在牛牛有 m 个操作,每个操作有两种类型。1 x 1 代表操作一,给数组中加一个元素 x 。(0 ≤ x ≤ 1e...原创 2021-09-29 19:07:37 · 297 阅读 · 0 评论 -
I Hate It(树状数组 单点修改 区间最值)
I Hate ItTime Limit: 9000/3000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 157739Accepted Submission(s): 54889Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师...原创 2021-09-29 18:17:46 · 128 阅读 · 0 评论 -
最好的宝石(上推线段树)
最好的宝石比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述牛牛有n个宝石,第i个宝石的价值是w[i].有m个操作,操作分为两种类型− Change x y 把第x个宝石的价值改成 y− Ask l r 询问区间[l,r]内宝石的最大价值,和最大价值的宝石有多少个。输入描述:第一行两个...原创 2021-09-29 13:27:50 · 171 阅读 · 0 评论 -
牛客练习赛33题解
tokitsukaze and Counting比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述给出3个整数L,R,x。tokitsukaze想知道,闭区间[L,R]中,x的倍数出现了几次。输入描述:第一行包括一个正整数T(T<=1000),表示T组数据。接下来T行,每行包括3个正整数L,R,x。1≤L≤R≤10^181≤x≤1...原创 2021-09-28 22:40:19 · 373 阅读 · 0 评论 -
dd爱框框(滑动窗口)
dd爱框框比赛主页 我的提交时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述读入n,xn,x,给出nn个数a[1],a[2],……,a[n]a[1],a[2],……,a[n],求最小的区间[l,r][l,r],使a[l]+a[l+1]+……+a[r]≥xa[l]+a[l+1]+……+a[r]≥x,若存在相同长度区间,输出ll最小的那个输入描述:第一行两个数,n(1...原创 2021-09-28 22:00:00 · 164 阅读 · 0 评论 -
黑白边(并查集)
黑白边比赛主页 我的提交时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述n个点,m条边,每条边分为黑边和白边,现在需要挑一些边出来,使得n个点可以两两联通。由于牛牛特别讨厌白边,所以在挑中的边中,让白边最少,输出白边的条数,如果不能两两联通,输出−1.输入描述:第一行两个整数n,m. 1≤n,m≤2e5接下来 m 行, 每行三个整数 x,y,z 代表xy...原创 2021-09-28 01:18:51 · 121 阅读 · 0 评论