摘要: 首先,我确定我的不是最优解,但最好写。看到楼上DALAO用记忆化搜索和状压DP本蒟蒻感到瑟瑟发抖,这好似是一个简单的DFS问题,乍一看数据我稍有担忧,但是洛谷有全宇宙最快的评测机我就放心提交了。(第9个点400ms)详情看代码。 阅读全文
posted @ 2018-03-20 23:07 Douglas_Zhou 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 蒟蒻对这题的思路很简单,懒得想太多复杂的细节,先打一个O(n)的暴力算法,再一次像下方粘的代码这样输出 cpp freopen("DABIAO.ans","w",stdout); bool a[10010000]; cout using namespace std; int a[101010000] 阅读全文
posted @ 2018-03-20 23:06 Douglas_Zhou 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 这是一道SPOJ的试机题,题目简单,但是还是不像A+B problem那样简单。 解题思路:(For 像我这样的新手们的)边读入边输出,这个程序在你的电脑上可能会得到很奇怪的答案,但是这在算法竞赛中是可以的。对于42以后的甚至可以不用读入了。 cpp include using namespace 阅读全文
posted @ 2018-03-20 23:05 Douglas_Zhou 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 用DFS求联通块 【分析】图也可以有dfs,bfs遍历。由于dfs更容易编写,一般用dfs找联通块:从每个'@'格子出发,递归遍历它周围的'@'格子每一次访问到一个就给它写上“联通分量编号”即下面的idx数组。这样就可以在访问之前知道是否已经被访问过,从而避免一个格子被访问多次。 cpp inclu 阅读全文
posted @ 2018-03-20 23:03 Douglas_Zhou 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 这绝对是一道小学奥数神题。。。蒟蒻的我竟然花了20秒写这题。。。我也不知道为什么是一道黄题。。。 主要思路 许多项都抵消了,只剩下a$_n$ a$_1$。于是就有了下面这段代码。 阅读全文
posted @ 2018-03-20 23:02 Douglas_Zhou 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 本题的关键是,如何判断一个双引号是左双引号还是右双引号。 方法一:使用“fgetc(fin)”它读取一个打开的文件fin读取一个字符,然后返回一个int值。 如果把fgetc(fin)的返回值强制转换为char,将无法把特殊的EOF和普通字符区分开。如果要从标准输入读取一个字符,可以用getchar 阅读全文
posted @ 2018-03-20 23:02 Douglas_Zhou 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 这应该是一道atcoder的试机题,具体的历史故事我不清楚(看原题翻译好像是什么大赛,了解后我会补充的),只是知道这题水得应该没人会看题解。 cpp include // define BL 暴力 using namespace std; int a[10010][10010],se[10010], 阅读全文
posted @ 2018-03-20 23:01 Douglas_Zhou 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 这不仅是Douglas的博客也可以是广大~~初学者~~交流学习的地方。因为这里可是水题大军,但也不乏一些紫题,蓝题……。 很抱歉,这个博客已经停用,已经转移到 "MicDZ's blog" 阅读全文
posted @ 2018-03-20 23:00 Douglas_Zhou 阅读(183) 评论(1) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-03-20 22:49 Douglas_Zhou 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 数据小,这道题可以用暴力的算法,也可以用更加高级一点的素数筛法 暴力做法已经有了,线性筛的算法有了,这里给出一个简单一点的但比暴力算法快一点的算法: cpp include using namespace std; bool a[10000010];//合数表 int main() { long l 阅读全文
posted @ 2018-03-20 22:47 Douglas_Zhou 阅读(124) 评论(0) 推荐(0) 编辑