- 博客(72)
- 资源 (3)
- 收藏
- 关注
原创 漫漫回家路2
在0号站接第1个人,从0号站出发到6号站(7站),放下第1个人,接第2个人,送到5号站再回来(2站),再接第1个人,送到9号点(3站),共12站。为了省油,L老师发现它每次不见得要把客人直接送到它的目的地,可以在中途放下之后再来接(由于L老师是免费送人,所以客人们也就不计较这些了)现在流行开滴滴车了,所以L老师每天晚上没事的时候,也想玩一玩,当然他是为了好玩,所以对所有乘客免费。最后L老师想问,它从0号出发,接完所有的客人,最后到达M点最少要走多少路程?L老师的车太小了,一次只能坐一个人。
2022-09-04 12:49:48
159
原创 生死存亡之数字炸弹(2.1)
新增了kbhit()函数使游戏时更流畅:#ifndef SOMETHING_H#define SOMETHING_H#include<bits/stdc++.h>#include<windows.h>#include<conio.h>void ycgb() { CONSOLE_CURSOR_INFO cursor; cursor.bVisible = FALSE; cursor.dwSize = sizeof(cursor); HANDLE h
2022-05-22 10:22:30
352
2
原创 八中魔法师
魔术师的桌子上有n个杯子排成一行,编号为1,2,…,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品。花费c_ij元,魔术师就会告诉你杯子i,i+1,…,j底下藏有球的总数的奇偶性。采取最优的询问策略,你至少需要花费多少元,才能保证猜出哪些杯子底下藏着球?Input第一行一个整数n(1<=n<=2000)。第i+1行(1<=i<=n)有n+1-i个整数,表示每一种询问所需的花费。其中c_ij(对区间[i,j]进行询问的费用,1<=i&l
2022-05-15 14:18:18
310
1
原创 灌水(生成树)
最小生成树一、什么是图的最小生成树(MST)?不知道大家还记不记得树的一个定理:N个点用N-1条边连接成一个连通块,形成的图形只可能是树,没有别的可能。一个有N个点的图,边一定是大于等于N-1条的。图的最小生成树,就是在这些边中选择N-1条出来,连接所有的N个点。这N-1条边的边权之和是所有方案中最小的。二、最小生成树用来解决什么问题?就是用来解决如何用最小的“代价”用N-1条边连接N个点的问题。例如:【例4-9】、城市公交网建设问题【问题描述】有一张城市地图
2022-05-15 14:15:08
120
原创 树的相关问题
树的概念树是具有以下性质的有限结点集合:(1) 有一个被称为“根”的结点。(2) 根的所有孩子都是一颗子树的根。树的相关术语•结点的度(degree):该结点拥有的子数数目。上图中:degree(A) = 3, degree(F) = 0•叶子(leaf):度为0的结点•双亲(parent):拥有子树的结点•孩子(son):某个双亲结点的子树的根•兄弟(sibling):拥有同一个...
2022-05-15 14:01:25
372
原创 生死存亡之数字炸弹(2.0)
新增了几个功能:1.游戏教程2.防御道具另外,我们不用加回车了代码奉上:#ifndef SOMETHING_H#define SOMETHING_H#include<bits/stdc++.h>#include<windows.h>#include<conio.h>void ycgb() { CONSOLE_CURSOR_INFO cursor; cursor.bVisible = FALSE; cursor.dwSize = si.
2022-05-03 09:32:47
257
原创 国际班的学生(并查集)
Description某校国际班有N(2 <= N<=10,000)个学生,编号为1.. N, 一共会流利地使用M(1<= M <=30,000)种语言,编号从1 .. M.,第i个学生,会说K_i(1 <= K_i<= M)种语言,即L_i1, Li2,..., L{iK_i} (1 <= L_ij <= M)。 现在如何任意两个学生想要交流的话,除非他们会同一种语言 或者他们能找到某个学生来做翻译。 现在校长希望任两个学生都能互相交流的话,就必须买一些
2022-05-03 09:23:14
574
原创 生死存亡之数字炸弹(1.0)
话不多说,上游戏代码:#ifndef SOMETHING_H#define SOMETHING_H#include<bits/stdc++.h>#include<windows.h>void ycgb() { CONSOLE_CURSOR_INFO cursor; cursor.bVisible = FALSE; cursor.dwSize = sizeof(cursor); HANDLE handle = GetStdHandle(STD_OUTPUT_HAN
2022-03-05 10:08:40
4583
1
原创 洛谷AT2168 [AGC007A] Shik and Stone
传送门题意翻译题目描述有一个纵 行,横 列的格子状棋盘。开始时,棋盘左上角的格子有一个马(不是象棋意义的马)。Shik 将会操纵它上下左右移动,从而到达右下角的格子。此时,马能够经过同一个格子多次(含左上角和右下角的格子)。给出 行字符串,如果第 行第 列的字符为 ' # ' ,则表示马在移动过程中至少通过了此格一次(左上角和右下角的格子一定会通过至少一次)。当 为 ' . ' 时,表示马在移动过程中并没有经过此格。请判断:马是否可能每次移动都向下或向右。一看到输入是...
2022-01-26 16:06:50
921
原创 洛谷AT2066 [ABC045B] 3人でカードゲームイージー / Card Game for Three (ABC Edit)
传送门题意翻译题目描述Alice,Bob和Charlie在玩 Card Game for Three开始时,每名玩家有一叠由卡牌组成的牌堆。每张牌上有一个字母 a,b或c。 卡牌的顺序不能被改变。 Alice先开始 玩家的牌堆中至少有一张牌,当前玩家从牌堆顶抽出一张牌,这张牌代表的玩家进行下一回合(a->alice,b->bob,c->charlie) 如果当前玩家的牌堆空了,游戏结束,这名玩家胜利你得到了每名玩家最初的牌堆,字符串S a,S b,S c。从左往右抽
2022-01-26 15:03:18
2880
原创 洛谷AT2302 [AGC010A] Addition
传送门题意翻译给定一个大小为 nn 的可重集,每次可以选择两个奇偶性相同的两个数,将它们从集合中删去,并加入它们的和。问最后是否能够使得集合中只有一个数。如果可以输出 YES,反之输出 NO。本题,我自己觉得是一道简单到不能再简单的题了言归正传众所周知(小学一年级就知道了):1.奇+奇=偶2.偶+偶=偶所以,我们就能知道,只要一合并,结果都是偶数,所以只要合并成功出来的,都是偶数因为偶+偶=偶 得知,所以就不用再管偶数了,反正合并出来还是偶数,不会影响最终结果
2022-01-25 15:47:45
409
原创 洛谷AT315 おとぎの国の高橋君
传送门题意翻译题目描述高桥君所住的AtCoder国,和我们一样,也普遍使用着进制的个阿拉伯数字。但是,AtCoder国的数字的大小关系与我们普遍使用的数字的大小关系不同。举例来说:当AtCoder国的数字从小到大为的顺序时,在AtCoder国中就比大,而也比大。给出AtCoder国的每个阿拉伯数字的大小关系,请将AtCoder国中的一些数按升序排列。另外,和我们普遍使用的数字一样,AtCoder国中最小的数字一定是0。这道题无头无脑都可以写出来一个程序(sort大法好):#
2022-01-24 16:04:03
446
原创 洛谷AT4783 [ABC131D] Megalomania
传送门题意翻译 个任务,完成一个任务需要 秒,需要在 秒前内完成(可以压线完成,即完成的时间正好是 )。问是否能完成全部任务,如果能,输出 ,否则输出 。看看,一道傻逼题只要排序(时间紧的排前面)就行了CODE:#include<bits/stdc++.h>using namespace std;int n,tim;struct node { int time,end;//耗时和结束时间} a[200010];bool cmp(node x,nod
2022-01-24 14:48:16
112
原创 洛谷AT3867 [AGC021A] Digit Sum 2
传送门题意翻译给出N,求小于等于N的正整数中用十进制表示各数位数字之和的最大值。思路:分两种情况:1.本身所有数都加起来2.把第1位-1,剩下来的全部变成9代码也不难:#include<bits/stdc++.h>using namespace std;char a[20];int ans1,ans2;//ans1为第一种情况,ans2为第二种情况int main(){ gets(a); ans1=a[0]-'0'-1,ans2=a[0]-'0';/
2022-01-24 12:46:25
132
原创 洛谷AT1350 深さ優先探索
题目传送门题意翻译高桥先生住的小区是长方形的,被划分成一个个格子。高桥先生想从家里去鱼店,高桥先生每次可以走到他前后左右四个格子中的其中一个,但不能斜着走,也不能走出小区。现在给出地图:s:代表高桥先生的家g:代表鱼店.:代表道路#:代表墙壁高桥先生不能穿过墙壁。输入:第一行输入n(1<=n<=500),m(1<=m<=500)代表小区的长和宽,接下来n行每行m个字符,描述小区中的每个格子。输出:如果高桥先生能到达鱼店,输出"Yes",否则输出
2022-01-24 10:03:41
148
原创 洛谷AT319 3Match
题目传送门题意翻译题目描述有H行W列的矩阵,每一个矩阵都有一个数字填充。我们需要找出连续的横着3个及以上或竖着3个及以上的,由同一数字构成的长方形,如图:但是,这有可能会连通。那么,这些连通的只会变成一个。如图:需要求出长方形的个数(连通的只算一个)输入格式第一行两个正整数N和M。第二行到第N + 1 行,每一行M个由0到9的数,没有空格。输出格式一个正整数,表示长方形的个数(连通的只算一个)输入输出样例样例......
2022-01-23 11:56:43
574
原创 洛谷AT2828 和がNの区間
题目传送门题意翻译给你一组n的排列,记为AiA_iAi,问存在多少对L,R,满足(∑i=LRAi)=n(\sum\limits_{i=L}^R A_i)=n(i=L∑RAi)=n说明1 ≤ N ≤ 100,0001\ \leq\ N\ \leq\ 100,0001 ≤ N ≤ 100,000思路:看到求和有些人就开始暴力了于是老朋友(祖宗)都来了------WA,TLE,RE…于是转念一想:用前缀和来做
2022-01-23 11:03:28
1135
原创 洛谷AT821 おいしいたこ焼きの売り方
题意翻译题目描述高桥烦恼着怎样按顺序卖章鱼烧。因为知道做了的章鱼烧不好吃,所以高桥不想卖那样的章鱼烧,但是只卖刚做好的话,卖的章鱼烧的数量减少了。 另外,高桥君认为,光让客人等的话,客人会逐渐离开的。 于是,他就把在T秒内制作的章鱼烧继续卖下去,就决定调查客人是否能卖掉。 章鱼烧是A1、A2、…、AN秒后开始烤。 客人是B1、B2、…、在BM秒后来。 对于一个客人,卖一个章鱼烧。如果所有的客人都卖章鱼烧的话,请输出yes,如果卖不出去的话,请输出no。输入输出格式输入格式:输出格式:..
2022-01-23 10:34:45
240
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人