VJ
_Yuh_
...
展开
-
A - Alchemy 101
A - Alchemy 101题意: 输入一个数m,求出从1到m中异或和等于m且是所有情况中包含的数字最多和字典序最小的那一串数。我的想法相当暴力,就是先求出从1到m的异或和,如果等于m那就直接输出,否则就bfs从m到1与每个数进行异或运算,如果等于m就输出,否则就将其异或结果放进队列中,一直到那一串数。当然还有其他更简单的方法,先放上代码。#include <iostream>#include <cstdio>#include <cstdlib>#原创 2021-02-06 18:29:09 · 133 阅读 · 0 评论 -
Monument Tour
题目链接题意:从矩形的左边任一条路(东西走向)进入,然后参观所有的纪念碑与博物馆,只能向上或向下移动,参观完纪念碑与博物馆后返回到进入时的那条路上,求走出城市时的最短路程。思路:遍历x坐标轴,求出每个x坐标中的最大与最小y值,存入数组a中,然后排序,求出中位数,这个中位数就是汽车进入城市时的y坐标,然后计算从0—X汽车参观每个博物馆走的路程。代码:#include <iostream>#include <cstdio>#include <cstdlib>#i原创 2021-01-18 14:15:54 · 182 阅读 · 0 评论 -
Inverse Factorial
题目意思就是已知n的阶乘,求n。当输入的阶乘小于10位数的时候,我们可以用long long将字符串转化成数字,直接计算。而当输入的阶乘很大的时候,我们就可以利用位数去大概的估计n。#include <bits/stdc++.h>using namespace std;typedef long long ll;ll n, m, num, res, ans, len;string str;void input() { cin >> str; len =..转载 2021-01-08 10:47:05 · 171 阅读 · 0 评论 -
M - Gitignore
题目链接把不能忽略的文件路径记录一下,再从可以忽略的文件里遍历,遇到可以忽略的文件就删除,后面遇到相同路径的文件就不用操作了。#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <algorithm>#include <string>#include <cstring>#include <vect原创 2020-12-22 09:37:45 · 400 阅读 · 1 评论 -
J - 屠龙勇者ErvinXie
题目链接已知这个世界中一共有 k 种炼金材料,分别使用 1, 2, 3…k 编号。炼金法阵的布置方法是将相应炼金材料按直线摆放就能成功布置。法阵一共需要 s 个炼金材料, 法阵的布置方法通过 a1, a2, a3 · · · as 给出,其中 ai 代表的是炼金材料种类。可能存在不同位置需要摆放相同种类炼金材料的情况。那么这种材料就需要收集多个。季蒜脊河的长度为 len, 从源头开始直到末尾,每米存在的炼金材料为 b1, b2, b3 · · · blen。bi 是炼金材料的种类。问 Erv原创 2020-12-22 09:13:23 · 128 阅读 · 0 评论 -
Walk of Three
这个题同样的代码,但选择不同的编译器一个超时(使用GNU G++14 6.4.0)一个能过(使用GNU G++17 7.3.0)…比赛的时候一直超时,但后来将代码中的 map<int,int>mp 改为 int mp[N] 就对了,不知道为什么…#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <algorithm>原创 2020-12-16 19:05:58 · 198 阅读 · 0 评论 -
二分题整理
题目链接When repairing an electronic board, Basil discovered that the board had already been under repair, and one of the resistors on it was replaced with a strange design. The design consisted of k series of connected links, and each link in them — of two原创 2020-12-12 23:36:17 · 151 阅读 · 0 评论 -
B - 大采购
题目链接众所周知,龙龙十分喜欢逛中关村南门出去几百米远的那个五星超市。这天龙龙拉着 yds 一起去逛五星超市,龙龙推着一个重量上限为 N 的购物车。他们在五星超市中逛了一圈也没看见什么想买的,购物车里还是空的,这时龙龙突然发现后门附近还有一条长长的货物架,上面有 M 个商品,每个商品分别有重量 G,和价值 S 两个属性,但这个购物架是单向的,也就是说龙龙只能从现在所处的这端走到另一端将商品按顺序放入购物车中。龙龙说他可以轻松的将一些商品放入放入购物车中使得在购物车的重量承受范围内,商品的总价值原创 2020-12-12 22:39:34 · 154 阅读 · 1 评论 -
Game Map
题目链接这个题我用DFS做的,但好像也可以不用,如果用DFS的话需要用到剪枝,否则会超时。#include <iostream>#include <stdio.h>#include <stdlib.h>#include <algorithm>#include <math.h>#include <map>#include <vector>#include <cstring>#include &l原创 2020-12-07 23:53:14 · 374 阅读 · 0 评论 -
Cat
题目链接两个相等的屋子之间最矮的屋子不能比它俩还高。听了某个同学的思路,用二叉树的中序遍历输出就符合条件,这个二叉树一共最多二十层(题目的范围是1e5,20层二叉树的节点数大于1e5),每一层的节点上的值都是该节点所在的层数。二叉树建树不太熟悉,有点忘了,不知道第二种建树方式哪里出错了,出现了段错误。AC的代码:#include <bits/stdc++.h>#define ll long long using namespace std;const int N = 1e6+10原创 2020-12-07 23:39:35 · 121 阅读 · 0 评论 -
Four Operations
交了八次才过,太煎熬了…在这个题上肝了一个多小时…还是太菜了,因为一些细节而浪费了很多时间.题目Little Ruins is a studious boy, recently he learned the four operations!he want to use four operations to generate a number, he takes a string which only contains digits ‘1’ - ‘9’, and split it into 5 in原创 2020-11-05 23:58:33 · 685 阅读 · 0 评论 -
SDUT 2020 Autumn Team Contest---9(for 19.div2)
G-Game Rank计算最终的名次,名次小于等于20时,输了不掉名次,如果还有星就掉星;当位于第一名时且星数为五颗,再赢一局就为“Legend”。连胜的局数大于等于三时赢了加三颗星。#include <algorithm>#include <iostream>#include <cmath>#include <cstdlib>#include <stack>#include <queue>#include <ve原创 2020-09-18 16:49:23 · 140 阅读 · 0 评论 -
A - Smooth Sequences
题目链接思路:如果a[i + 1] - a[i] > d,且满足 a[i] + d >=a[i + 2] - d 可以用某个数替换a[ i + 1]使其满足Smooth Sequences;当 i = n - 1 时如果需要替换才符合Smooth Sequences,若前面没有替换a[i],可以输出“Y”。#include <iostream>#include <algorithm>#include <cmath>#include <strin原创 2020-08-04 20:46:27 · 79 阅读 · 0 评论 -
Density of Power Network
题目链接比赛时题目理解不太透彻,结合样例和我理解的题意就试了试,没想到竟然AC了#include <iostream>#include <algorithm>#include <cmath>#include <string.h>#include <stdio.h>#include <stdlib.h>using namespace std;int main(){ int t,n,m,u[505],v[505原创 2020-07-28 20:44:47 · 72 阅读 · 0 评论 -
Hard to Play
题目链接将a个300,b个100,c个50存放在arr[]中,再用两个for循环分别将arr[i]代入公式求出最高分与最低分。#include <iostream>#include <algorithm>#include <cmath>#include <string.h>#include <stdio.h>#include <stdlib.h>using namespace std;int main(){原创 2020-07-28 20:36:18 · 178 阅读 · 0 评论 -
Printing Books
题目链接思路很好想,但是我这死脑筋就是用代码实现不了!!!太弱了…思路就是,先求出最初的 x 由几位数组成,并算出比该位数字最大的数还要大1的数(y),然后算出x—y之间一共有多少(z)位。如果比n小,则用while循环,直到 z 小于n结束循环;否则,如果剩下的 n % k !=0 则输出 -1 ,等于零就输出 ans + n/k。代码如下#include <bits/stdc++.h>#define ll long longusing namespace std;int ma原创 2020-06-06 09:01:53 · 280 阅读 · 0 评论