[CF1070A]Find a Number_bfs】的更多相关文章

Find a Number 题目链接:http://codeforces.com/problemset/problem/1070/A 数据范围:略. 题解: 因为$d$和$s$比较小可以搜. 这就很$gay$了...我根本没想到可以宽搜. 想到搜索就非常简单了,从小到大枚举就好了. 代码: #include <bits/stdc++.h> #define inf 0x3f3f3f3f #define D 510 #define S 5010 using namespace std; int d…
dp的状态转移很像一张有向图:每个状态为一个点,每中转移方案是一条有向边 本题要求是求出最小的数,那我们用状态[i,j]表示模i,数位和为j,那么从每个点出发的十条有向边代表[0,9]十个数 从每个状态点进行bfs,由于队首的点必定是当前最小的(因为bfs的顺序),所以可以保证最后求出的是最小的数 /* dp[i][j]表示余数为i,和为j的状态是否被访问到 用pre[i,j,k]表示状态[i,j]是从k转移得到的 等效于一张有d*s个结点的图,要从(0,0)走到(0,s) ,要走最靠左边的路…
写在前面的一些话 如果我NOIP没退役,这大概会写成一个系列吧,所以这算是系列的开始,要写一些奇怪的东西? 首先解释下什么叫“拔钉子”,其实就是在钉子上做题嘛......至于钉子具体是个什么东西就当面或者QQ问我好了=.= 然后如果写成系列的话前面这些应该都是POI了,那就说说POI好了.我个人还是很喜欢POI的出题风格的,基本上没有什么 Phantasm码农题/仙人板板板子题/很超巨大无比数据结构题(这都是什么啊喂(#`O′) ).思路在解题中比较重要,然后细节有时候也比较需要注意,至于码力这…