- 博客(13)
- 收藏
- 关注
原创 [USACO 2012 Nov B]Horseshoes
acwing 2005 中文题面NC24363 但是是英文题面 来源:USACO 2012 November Contest Bronze数据比较小 ,dfs就能做dfs传当前位置以及左右括号的数量,左等于右,更新答案,右大于左,不合法返回,如果右括号数量大于1,就不能在搜左括号了,记得标记以及恢复现场,数据比较小,直接暴力搜就行。#include<bits/stdc++.h>using namespace std;const int N=10;string s[N];int n
2022-01-09 12:34:31
181
原创 L2-039 清点代码库 (25 分)
上图转自新浪微博:“阿里代码库有几亿行代码,但其中有很多功能重复的代码,比如单单快排就被重写了几百遍。请设计一个程序,能够将代码库中所有功能重复的代码找出。各位大佬有啥想法,我当时就懵了,然后就挂了。。。”这里我们把问题简化一下:首先假设两个功能模块如果接受同样的输入,总是给出同样的输出,则它们就是功能重复的;其次我们把每个模块的输出都简化为一个整数(在 int 范围内)。于是我们可以设计一系列输入,检查所有功能模块的对应输出,从而查出功能重复的代码。你的任务就是设计并实现这个简化问题的解决方案。输入.
2021-10-06 15:09:29
219
原创 周赛ABC题题解
A.并查集比较基本的并查集操作,按照题目要求来就可以了#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll N = 4e6 + 7;const ll M = 8e6 + 7;const ll mod = 998244353;ll fa[N];ll find(ll x) { return x == fa[x] ? fa[x] : fa[x] = find(fa[x]);}vo
2021-08-01 15:09:55
125
原创 数据结构课程设计
地理信息管理系统1.问题描述:你的任务是实现一个简易的GIS原型系统,能够储存若干个点的坐标和名称,以及它们之间的道路连接情况。2.设计要求:(1)能够存储和修改若干个地点的经纬度,高程和名称。void AddSpot(string name ,double longitude,double latitude,double altitude)void UpdateSpot(int spotld ,double longitude,double latitude,double altitude
2021-07-15 20:26:40
426
原创 N诺小白赛C-数列 题解
这个就是简单的高中数学知识,但需要用一点算法才能快速的算出a^b的值#include <bits/stdc++.h> // c++ 万能头文件using namespace std; // c++ 格式typedef long long ll ;const int N = 200907; // 用N代替 200907ll qpow(ll a, ll b) { //快速幂模板可以看一下我发的那个博客或自己去找相关模板 ll res = 1; while
2021-05-01 10:17:07
85
转载 钓鱼
【题意】有n个湖,从i到i+1花时间t[i]。再每个湖花费1个时间可以得分f[i],再花费一个时间得分f[i]-d[i],再花费一个f[i]-2d[i],以此类推。最后可以再任意一个湖结束。求给定总时间内得最大得分。【题解】时间范围不是很大,维护一个小根堆为当前所有的选择,从左向右枚举最终在哪个湖结束。由于越向右花在路上的时间越长,能用来钓鱼的时间越少,故每次右移动时弹出堆中的多余元素。每到一个新的湖,将这个湖里所有的选择加入小根堆,同时维护总个数即可。#include <bits/stdc+
2020-12-12 21:25:26
110
原创 Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) A~D题解
A. Forgetting Things添加链接描述这个第一题签到题。题意也很简单,就四种情况直接枚举出来,a+1b时 可以直接输出a ,b。当ab 时直接输出a10 b10+1 当a9 && b1 时 直接输出 9 和 10 就行,其余情况直接输出-1.代码如下,仅供参考#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ int a,b;
2020-11-27 21:52:03
114
原创 UCF Local Programming Contest 2018题解
UCF Local Programming Contest 2018A Window on the Wall添加链接描述思路直接判断墙的长和宽是否均长于 2 倍的 d,因为两边均要留有空隙窗户的最大面积为(w-2d)(h-2*d)参考代码:#include<bits/stdc++.h>using namespace std;int w,h,d;int main(){ cin>>w>>h>>d; if(w>2*d&&am
2020-05-30 17:17:14
815
原创 Benelux Algorithm Programming Contest 2019 题解
Benelux Algorithm Programming Contest 2019A Appeal to the Audience添加链接描述题解要想使得总和最大,就要使最大值被计算的次数最多。要想某个数被计算的多,就要使得它经过尽量多的节点。于是我们的目标就是找到 k 条从长到短的链,这些链互不重合,且一端是叶子节点。可以通过长链剖分来将这棵树分为 k 条互不相交的长链,然后按照长度分配元素(长度越大,分配给它的元素值越大)。参考代码:#include<bits/stdc++.h&
2020-05-27 16:21:27
367
1
原创 UCF Local Contest 2015
UCF Local Programming Contest 2015A. Find the Twins添加链接描述题目大意给定长度为 10 的数列,若数列中只含有 18,输出 Mack。若只含有 17,输出 Zack。若同时含有 18 和 17,输出 both。若不含 18 和 17,输出 none。题解签到题参考代码:#include <iostream>#include <algorithm>#include <cstring>#include
2020-05-26 15:44:33
304
原创 CTU OPEN Contest 2019 题解
CTU OPEN Contest 2019A.Beer Barrels题目大意给出四个整数:A,B,K,C,A,B,C 都是大于 0 的个位数,问在所有仅由 A 或 B 组成的K 位数中(K 位数的每一位都是 A 或 B),数字 C 的个数有多少。#include<cstdio>#include<iostream>#include<cstdlib>using namespace std;typedef long long ll;const ll mod
2020-05-25 12:47:55
537
原创 ***一点普通感悟***
一些容易忘记的曾经在做题中发现的小技巧:1.getline(cin,s)c++中输入一串不连续的字符串,如同C语言的gets()函数。2.reverse(s.begin(),s.end())将字符串逆序生成,并覆盖之前的字符串。3.sort(q.begin(),q.end);排序vector或者string是可以使用,从前到后。4.s1=s.substr(n,k);取字符串的函数,k是表...
2020-01-06 09:45:28
94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人