搜索
Stupid_Computer
美丽
展开
-
棋盘问题
总时间限制: 1000ms 内存限制: 65536kB描述 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。输入 输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内...原创 2018-03-14 21:41:45 · 137 阅读 · 0 评论 -
【NOIP2017提高组 day2】奶酪
题目题解–很简单,就是n^2建图,bfs一遍就好了,记得开longlong代码#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>#include&...原创 2018-09-24 13:38:05 · 434 阅读 · 0 评论 -
【NOIP2017提高组 day1】逛公园
题目题解– 首先要在图上跑一遍最短路是肯定的(spfa或迪杰斯特拉)接着就是怎么算答案了我们可以先建一个反图(方便从终点跑回起点)设f[i][j]:从起点跑到i号节点时,与目前的最短路相差j的长度时的方案数所以说我们怎么从f[i][j]转移到f[a][b]呢(i,a由一条长为w的路径相连)可以推出:j-b=d[a]+w-d[i]即:b=j+d[i]-d[a]-w因为直接递推...原创 2018-09-24 13:34:57 · 344 阅读 · 0 评论 -
jzoj 5781 秘密通道
题目题解–开始一看,这不是走迷宫吗,那就是bfs呀,当然是快乐gg了 谁能想到这是一道图论题呢(反正不是本蒟蒻) 我们把每个空位和上下左右连一条长为1的边 和上下左右的第一堵墙连一条长为与最近的墙的距离的边 然后从起点开始,跑一遍spfa就行了细节问题不一定相同 像找最近的墙时 可以bfs 也可以和我一样找菱形要看代码能力呢代码#inclu...原创 2018-08-08 21:28:25 · 339 阅读 · 0 评论 -
【NOIP 2011 提高组 Day2】聪明的质监员
题目题解–这道题吧,就是题目中求Yi的公式很恶心罢了 宝宝来翻译一下,就是在 [Li,Ri] 的区间中,所有满足 wj>W 的矿石的数量 * 他们的价值之和 –这样就简单了,只需要二分查找一下就好(加上前缀和优化) 对于一个mid,发现: 1. 如果Y>S,说明入选的矿石多了,应把mid调大,即L=mid+1 2. 如果Y#include<iostr...原创 2018-07-08 10:38:54 · 191 阅读 · 0 评论 -
【NOIP 2011 提高组 Day1】mayan 游戏
题目题解:–要我说,这道题极其恶趣味,就是dfs加疯狂模拟,大概1个多小时就能打完,但是如果有小错误,可以找2个多小时呢,代码大概150~200行,加油! –下面稍微有一点的优化: 1. 按照题目最优方案顺序找,找到的第一组解,就是最优解(先x从小到大,再是y从小到大,每个先右移) 2. 对于两个相同颜色的图块,交换没有意义 3. 两个左右相邻且不为空的图块,把左边的右移,...原创 2018-07-08 10:20:58 · 449 阅读 · 0 评论 -
【NOIP 2011 提高组 Day1】选择客栈
题目题解–要我说,这道题是非常之骚气的,首先有很多很多不同的方法,当然,我可是蒟蒻,所以说,我的方法不是最快的,时间复杂度O(nlogn),最快的是O(n)的,虽然我不明白,但是没什么问题,可以过的 –然后是我方法的详解: 首先把相同颜色的旅馆,还有可以小聚的咖啡馆都用vector存下啦,假设如下图: sc[0][ ]={1 , 2 , 4 , 6 , 7} sc[1][ ...原创 2018-07-08 10:03:15 · 324 阅读 · 0 评论 -
【NOIP 2011 提高组 Day1】铺地毯
题目题解–很简单的一道题,无论是正着搜,还是倒着搜,都不会超时(但倒着肯定更快) 只需要对所求点寻找:覆盖它的编号最大的地毯,就是答案了代码:#include&amp;amp;lt;iostream&amp;amp;gt;#include&amp;amp;lt;cstdio&amp;amp;gt;#include&amp;amp;lt;cstdlib&amp;amp;gt;原创 2018-07-08 09:30:07 · 282 阅读 · 0 评论 -
【NOIP2008 提高组】火柴棒等式
题目题解–首先,二话不多说,就是疯狂dfs 然后等它慢慢运行,0~25个答案存下来,直接输出就行了 没错,就是标准的打表代码#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#i...原创 2018-06-18 20:24:53 · 1221 阅读 · 0 评论 -
寻找道路
题目题解–这道题就是暴力搜索路径,但是因为有先决条件,所以说要用一种高效又简单的方法找到不能与终点相连的节点 那就是:反向建图 我们只需要从终点开始找,能到的,和不能到的,一下就分清了找出来后,我们再找路径是就能把它们和能走到它们的最近的父节点都排除在外(因为路径上所有的节点所指向的点都直接或间接的与终点相连)–不过我第一次做的时候,用的是dfs,就找不到路径,是因...原创 2018-06-07 16:57:31 · 675 阅读 · 0 评论 -
数池塘
题目描述 农夫约翰的农场可以表示成 N*M(1<=N<=100,1<=M<=100)个方格组成的矩形。由于近日的降雨,在约翰农场上的不同地方形成了池塘。每一个方格或者有积水('W')或者没有积水('.')。农夫约翰打算数出他的农场上共形成了多少池塘。一个池塘是一系列相连的有积水的方格,每一个方格周围的八个方格都被认为是与这个方格相连的。 现给出约翰农场的图样...原创 2018-03-13 21:04:57 · 1073 阅读 · 0 评论 -
【NOIP2018模拟赛2018.10.23】字符串
题目字符串(string)【题目描述】 定义两个字符串A,B相似当且仅当满足以下两个条件中的至少一个: (1)A和B相同; (2)将A分为长度相同的两个子串A0,A1,将B分为长度相同的两个子串B0,B1,满足A0相似于B0,A1相似于B1或A0相似于B1,A1相似于B0。 给定两个字符串S,T,问它们是否相似。 有多组数据。【输入数据】 第一行一个整数t表示数据组数。 每组数据第一行一个字...原创 2018-10-23 21:35:19 · 432 阅读 · 0 评论