ural 1115,搜索】的更多相关文章

题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1115 题意:n个军舰,m个海岸线,各个长度给出,求n个军舰怎么组成这些海岸线. 思路很简单,就是深搜,好吧,我WA了很多次在test10,错的地方是在回溯,我在处理回溯的时候,只考虑了一条海岸线的回溯,要是下个海岸线结果不能成功了,就要回溯到前一个海岸线,而我直接输出了. 解决办法: 就是把每一个军舰插入后深搜,这里有个要注意的地方是,一碰到结果,直接退出所有栈,exit(0),这样就解决了拆…
题目传送门 /* 记忆化搜索(DP+DFS):dp[i][j] 表示第i到第j个字符,最少要加多少个括号 dp[x][x] = 1 一定要加一个括号:dp[x][y] = 0, x > y; 当s[x] 与 s[y] 匹配,则搜索 (x+1, y-1); 否则在x~y-1枚举找到相匹配的括号,更新最小值 */ #include <cstdio> #include <algorithm> #include <cmath> #include <iostream&…
题目传送门 /* 记忆化搜索(DFS+DP):dp[x][y] 表示x个蛋,在y楼扔后所需要的实验次数 ans = min (ans, max (dp[x][y-i], dp[x-1][i-1]) + 1):前者表示蛋没碎,则往高处(y-i)搜索 后者表示蛋碎了,往低处(i-1)方向搜索 这样写不好,每次memset (dp)就会超时:( 详细解释:http://blog.csdn.net/fulongxu/article/details/27110435 */ #include <cstdio…
题目传送门 /* 题意:给了两堆牌,每次从首部取出一张牌,按颜色分配到两个新堆,分配过程两新堆的总数差不大于1 记忆化搜索(DFS+DP):我们思考如果我们将连续的两个操作看成一个集体操作,那么这个操作必然是1红1黑 考虑三种情况:a[]连续两个颜色相同,输出11:b[]连续两个相同,输出22: a[x] != b[y], 输出12:否则Impossible 详细解释:http://blog.csdn.net/jsun_moon/article/details/10254417 */ #incl…
1698. Square Country 5 Time limit: 2.0 secondMemory limit: 64 MB The first arithmetical operation taught to the children of the Square country is the calculation of squares of positive integers. At the first lesson the children are provided with “eas…
题目地址:Ural 1183 最终把这题给A了.. .拖拉了好长时间,.. 自己想还是想不出来,正好紫书上有这题. d[i][j]为输入序列从下标i到下标j最少须要加多少括号才干成为合法序列.0<=i<=j<len (len为输入序列的长度). c[i][j]为输入序列从下标i到下标j的断开位置.假设没有断开则为-1. 当i==j时.d[i][j]为1 当s[i]=='(' && s[j]==')' 或者 s[i]=='[' && s[j]==']'时,d…
题目链接 本来暴力写个TLE了,加上记忆化就A了. #include <cstring> #include <cstdio> #include <string> #include <iostream> #include <algorithm> #include <cmath> using namespace std; ][]; ][]; ],s2[]; ],sum2[]; int n; ]; int dfs(int x,int y)…
题目链接 题意 : 每一颗子弹破坏了三个邻近的阳台.(第N个阳台是与第1个相邻)射击后后的生存的怪物都对主角造成伤害- 如此,直到所有的怪物被消灭,求怎样射击才能受到最少伤害. 思路 : 状压,数据不是很大,可以爆一爆,或者DFS下去就行,枚举每一种状态. #include <cstdio> #include <cstring> #include <iostream> #define oo 1 << 28 using namespace std ; ],dp…
题目链接 题意 : 自守数的定义:如果某个数的平方的末尾几位数等于这个数,那么就称这个数为自守数.例如5*5=25,则5就是自守数.让你求不超过n位的自守数有多少 思路 : 实际上,自守数还有两个性质:以他为后几位的两个数相乘,乘积的后几位仍是这个自守数.刚好n位的自守数一定是两个,当然1位的时候0和1是没有算进去的,但是题目中1是要加上的,所以从第0位深搜枚举到第n位.还有另一种方法,因为一个数是自守数当且仅当这个数是另一个自守数的后缀,2000位的自守数只有两个,所以存下来直接数也行 #in…
1250. Sea Burial Time limit: 1.0 secondMemory limit: 64 MB There is Archipelago in the middle of a shoreless ocean. An ancient tribe of cannibals lives there. Shamans of this race have been communicating with gods and admonishing people for ages. The…
1152. False Mirrors Time limit: 2.0 secondMemory limit: 64 MB Background We wandered in the labyrinth for twenty minutes before finally entering the large hall. The walls were covered by mirrors here as well. Under the ceiling hung small balconies wh…
先上效果图 加入sphinx类库(/application/libraries/sphinx_client.php) 0001 <?php 0002 0003 // 0004 // $Id: sphinxapi.php 2055 2009-11-06 23:09:58Z shodan $ 0005 // 0006 0007 // 0008 // Copyright (c) 2001-2008, Andrew Aksyonoff. All rights reserved. 0009 // 0010…
URAL - 1078 题目大意:有n条线段,一个线段a 完全覆盖另一个线段b 当且仅当,a.l < b.l && a.r>b.r.问你 一个线段覆盖一个线段再覆盖一个线段再.......,问你最多几个线段属于这种关系,并打印出路径. 这题的的 n 太小了,n^3的方法都能过. 思路:1. 我们设dp[ i ] 为 以 i 位最外层的答案为多少,n^3的方法是,我们先将所有dp的值设为1, 枚举最外层的点,再枚举其内层的点更新,一次更新肯定是不够的,我们更新到它没有更新了再 退…
URAL 1501 思路: dp+记忆化搜索 状态:dp[i][j]表示选取第一堆前i个和第二堆前j的状态:0:0多1个              1:0和1相等                2:1多一个         -2:不能达到题目所描述的状态 初始状态:dp[0][0]=1 状态转移:见代码 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_bck #defin…
Ural Sport Programming Championship 2015 A - The First Day at School 题目描述:给出课程安排,打印一个课程表. solution 暴力模拟. B - Maths 题目描述:给定一个数\(n\),找出一个序列\(a_i\)满足\(\forall i \in [2, n], \sum_{j=1}^{j \leq i} a_j\) 有\(a_i\)个约数. solution 暴力搜索,发现和不会超过\(2 \times 10^6\),…
URAL题解三 URAL 1045 题目描述:有\(n\)个机场,\(n-1\)条航线,任意两个机场有且只有一种方案联通.现有两个恐怖分子从\(m\)号机场出发,第一个人在机场安装炸弹,乘坐飞机,引爆炸弹,在另一个机场降落,然后到第二人做一样的事,轮流做,直到某个人做不到就输.一个机场炸了后,任何与它相连的航线都不复存在.问第一个人能不能赢,如果能,则输出他第一个要飞到的机场,如果不能则输出First player loses solution 博弈论,输赢状态的搜索. 时间复杂度:\(O(n)…
URAL题解二 URAL 1082 题目描述:输出程序的输入数据,使得程序输出"Beutiful Vasilisa" solution 一开始只看程序的核心部分,发现是求快排的比较次数,要使比较次数等于它所要求的才能输出"Beutiful Vasilisa".这也太难了吧.看一下样例,再看一下它所要求的数,发现如果输入数据早就排好序,比较次数就是它所要求的数.所以只要输出\(n\)个从小到大的数即可. 时间复杂度:\(O(n)\) URAL 1083 题目描述:定义…
URAL题解一 URAL 1002 题目描述:一种记住手机号的方法就是将字母与数字对应,如图.这样就可以只记住一些单词,而不用记住数字.给出一个数字串和n个单词,用最少的单词数来代替数字串,输出对应的任一方案. solution 首先想到的应该是DP,接着就是状态转移的问题,也就是预处理出每个单词可以与哪一段的数字对应,分析时间复杂度,发现直接暴力判断是可以的,但用HASH会好一些,还可以用KMP. 时间复杂度:\(O(单词数*数字长度)或O(单词长度*数字长度)\) URAL 1010 题目描…
POJ 上的一套水题,哈哈~~~,最后一题很恶心,不想写了~~~ Rope Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7410   Accepted: 2603 Description Plotters have barberically hammered N nails into an innocent plane shape, so that one can see now only heads. Moreove…
R - Work scheduling Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Practice URAL 1099 Description There is certain amount of night guards that are available to protect the local junkyard from possible junk r…
题目: 题目背景 URAL:http://acm.timus.ru/problem.aspx?space=1&num=1018 题目描述 有一棵苹果树,如果树枝有分叉,一定是分 2 叉(就是说没有只有 1 个儿子的结点,这棵树共有N 个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. 我们用一根树枝两端连接的结点的编号来描述一根树枝的位置.下面是一颗有 4 个树枝的树:         2    5          \ /              3    4         …
题目传送门 /* 题意:一个圈,每个点有怪兽,每一次射击能消灭它左右和自己,剩余的每只怪兽攻击 搜索水题:sum记录剩余的攻击总和,tot记录承受的伤害,当伤害超过ans时,结束,算是剪枝吧 回溯写挫了,程序死循环,跑不出来.等回溯原理搞清楚了,下次自己重写一遍:) */ #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> #include <iostre…
目录 Ural 1029 Ministry 题解 题意 题解 程序 Ural 1029 Ministry 题解 题意 给定一个\(n\times m(1\le n \le10,1\le m \le500)\)的矩阵,矩阵中的每个值都是一个小于等于\(10^9\)的正整数. 现在从第\(1\)行的任意位置开始,在第\(n\)行的任意位置结束.每次有\(3\)种移动选择(不能移动到矩阵外). 设当前位置为\((i,j)\) 移动到\((i+1,j)\) 移动到\((i,j-1)\) 移动到\((i,…
目录 Ural 1238 Folding 题解 题意 题解 程序 Ural 1238 Folding 题解 题意 定义折叠.展开为: 单个大写英文字母是一个折叠的串,把它展开后是它本身. 如果\(S\)和\(Q\)是折叠的串,则\(SQ\)也是折叠的串.如果\(S\)展开后为\(S'\),\(Q\)展开后为\(Q'\),则\(SQ\)展开后为\(S'Q'\). 如果\(S\)是个折叠的串,则\(X(S)\)也是折叠的串,其中\(X\)是一个十进制大于\(1\)的整数,如果\(S\)展开为\(S'…
SQLSERVER走起微信公众帐号已经开通搜狗微信搜索 请打开下面链接 http://weixin.sogou.com/gzh?openid=oIWsFt-hiIb_oYqQHaBMoNwRB2wM 可以查找所有历史文章,也可以关注本公众帐号,在电脑浏览器上看更方便! 可以看到最近推送的文章一目了然 妈妈再也不用担心我找不到历史文章了o(∩_∩)o  关注我…
注意事项:首先要保证部署solr服务的Tomcat容器和检索solr服务中数据的Tomcat容器,它们的端口号不能发生冲突,否则web程序是不可能运行起来的. 一:solr服务的端口号.我这里的solr服务的tomcat容器的端口号已经修改为8083: 二:检索solr服务中数据的tomcat容器的端口号.我这里是8080: 最后必须要保证2个容器能正常访问. 需求:使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实…
这是一个很久以前的例子,现在在整理资料时无意发现,就拿出来再改写分享. 1.需求 1.1 基本需求: 根据输入的地址关键字,搜索出完整的地址路径,耗时要控制在几十毫秒内. 1.2 数据库地址表结构和数据: 表TBAddress 表数据 1.3 例子: e.g. 给出一个字符串如“广 大”,找出地址全路径中包含有“广” 和“大”的所有地址,結果如下: 下面将通过4个方法来实现,再分析其中的性能优劣,然后选择一个比较优的方法. 2.创建表和插入数据 2.1 创建数据表TBAddress use te…
在做搜索框的时候无意间发现html5的input里有个placeholder属性能轻松实现提示文字点击消失功能,之前还傻傻的在用js来实现类似功能... 示例 <form action="demo_form.asp" method="get"> <input type="search" name="user_search" placeholder="我是提示文字 在此输入文本我会消失" /…
题目大意:有n个木块排成一行,从左到右依次编号为1~n.你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块.所有油漆刚好足够涂满所有木块,即c1+c2+...+ck=n.相邻两个木块涂相同色显得很难看,所以你希望统计任意两个相邻木块颜色不同的着色方案. 题解:看到数据范围第一个想到的就是dp.但5^15显然不现实.注意到ci相等的颜色本质上是相同的,于是可以记忆化搜索. 时间复杂度:O(15^5) 代码: #include<iostream> #include<cstdio>…
题目大意: 花花山峰峦起伏,峰顶常年被雪,Memphis打算帮花花山风景区的人员开发一个滑雪项目.    我们可以把风景区看作一个n*n的地图,每个点有它的初始高度,滑雪只能从高处往低处滑[严格大于].但是由于地势经常变动[比如雪崩.滑坡],高度经常变化:同时,政府政策规定对于每个区域都要间歇地进行保护,防止环境破坏.现在,滑雪项目的要求是给出每个n*n个点的初始高度,并给出m个命令,C a b c表示坐标为a,b的点的高度改为c:S a b c d表示左上角为a,b右下角为c,d的矩形地区开始…