随笔 - 530
文章 - 0
评论 - 3
阅读 -
10098
随笔分类 - dp
带通配符的字符串匹配
摘要:http://ica.openjudge.cn/function1/3/ const int N =1004; int n,m,f[N][N]; char a[N],b[N]; signed main(){ int i,j; cin>>a+1>>b+1; n=strlen(a+1); m=strle
阅读全文
【codevs2950】突击考试
摘要:。每个人都有一个考试等级,教室里面一共有N个课桌,按照顺序排成一列,每个课桌可以坐两个人,记他们的能力等级为(A[i],B[i])。 现在决定对能力等级为K的人进行测验。从这N排中选择连续的L排进行测验,要求这L排中的每一排至少有一个人考试等级为K。 现在想知道L的最大值以及对应的等级K。 #inc
阅读全文
【codevs3012】线段覆盖4
摘要:#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; struct hp{ int ai,bi,ci; }a[1005]; bool cmp(hp a,hp b){
阅读全文
uoj 279: [UTR #2]题目交流通道
摘要:一个无向图,现在对于每个点对 i, j 连接一条边z( 整数) , 满足 z= d [i ][j ] ,d[i][j] 为已知 问有多少种方案 mod (m
阅读全文
LIS (数据结构优化dp
摘要:首先是代码量小的bit 值域上建立bit, 需要注意合并类型应该有单调性 https://www.luogu.com.cn/problem/AT_dp_q https://www.luogu.com.cn/record/133869096 线段树 值域上建立线段树,区间查询,单点改 #include
阅读全文
Gangsters UVA - 672
摘要:一家饭店,有一扇大小会变得门,变化范围为[0,k]。每过一单位时间你可以让门的大小+1,-1,或者不变。客人会在不同的时间来吃饭,但是如果门的大小和他们希望的值不一样,他们就不会进来并且直接消失。吃饭要花钱,现在问饭店最多能赚多少钱。 F[i ] [j ] =max( F[i-1][j] +v,F[
阅读全文
POJ-1143
摘要:给定一个序列,轮到谁,取出一个数k删除,并删除i*k(i=1,2,3,.....), 设k1为已经删除的数,同时删除k1*i+k*j,(i=1,2,3,.....;j同上 ),轮到谁没数删除时谁就输了。。 求先手取数 可以取那些数字 ,能保证获胜 #include<iostream> #includ
阅读全文
UVA10618 跳舞机 Tango Tango Insurrection
摘要:有四个踩踏板,不同的踩踏方式消耗不同的力气 问最小花费的力气 F[ i ] [ a] [b ][ s] , s 是上一次哪只角移动了( 0 ,1,2 ) https://www.luogu.com.cn/problem/UVA10618 #include<iostream> #include <cs
阅读全文
UVA10271
摘要:定义一个三元组(a,b,c)(a⩽b⩽c), 它的权值为 (a−b)^2, 给定 n(n⩽5000)n(n⩽5000) 个数,要求选出 k+8 个三元组,使得这k+8个三元组权值和最小。 输入数据是单调递增的。 #include <iostream> #include <algorithm> #in
阅读全文
UVA-10688
摘要:有n个苹果,和一个数k,第i个苹果的重量是k+i(1<=i<=n). 已知其中只有一个苹果是甜的,所有比它重量轻的都是苦的,比它重的都是酸的。为了要找出甜的苹果,就要去一个一个地吃它,且吃了咬了苹果就必须把它吃完,不管苹果是苦的还是酸的。例如,先吃#1, 如果#1是甜的,花费1如果#2是甜的,那么选
阅读全文
Period UVA - 1371
摘要:题意: 给两个串A,B。现在把B串分为若干个部分,对每一个部分进行操作将其变为一个A串,代价为每部分操作次数的最大值 求最小代价 #include <iostream> #include <algorithm> #include <cstring> using namespace std; cons
阅读全文
Moving to Nuremberg UVA12223
摘要:题目大意:给出n,一个无根的树,每条边上都有权值。 现在每个位置都有一个景点,一个人想在一年之内去cnt[ i ] 次景点,所以接下来给出m,表示说在m个位置上有这个人想去的地方,给出位置以及想去的次数(注意,每去一个景点都要返回自己的住处),namo这个人该住在哪里走的路程才最短。 换根dp #i
阅读全文
Fast Food UVA - 662
摘要:政府在某山区修建了一条道路,恰好穿越总共m个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往。已知任意两个相邻的村庄之间的距离为di(为正整数),其中,0<i<m。为了提高山区的文化素质,政府又决定从m个村中选择n个村建小学(设0<n≤m<500)。请根据给定的m、n以及所有相邻村
阅读全文
UVA607
摘要:每节课的长度为 L,有N个主题,讲每个主题的时间分别是 t1,t2,t3..., 每个主题必须在一节课讲完,不能分两节课。一节课可以将多个主题讲完每节课上完有不满意度。 在所需课程数量最少的前提下,求最小不满意度。 #include <iostream> #include <cstring> #in
阅读全文
Eigensequence UVA - 11133
摘要:给你一个递增序列的第一位a1,最后一位an,求有多少个序列满足: 以a1为首,an为尾 1、B(1) = A(1) 2、后面每项满足 A[j]=B[j], A(j-1) < B(j) ≤ A(j), 且bj能整除A(j) - A(j-1)。 F[ i ] [ j ] 最后一位为j 的方案数 #inc
阅读全文
How Many O's? UVA - 11038
摘要:写下区间[a,b]的所有数 ,问一共有多少个 0 #include <iostream> #include <cstring> #include <vector> using namespace std; #define int long long int n,f[40][40][2][2] ; v
阅读全文
Exploring Pyramids UVA - 1362
摘要:给出一棵树的 dfs 序,求可能的构成方案数。 A______A_______ f[l ][ r] =sum{ f[l+1][k-1] *f[k][j] } #include <iostream> #include <cstring> #include <sstream> using namespa
阅读全文
Hackers' Crackdown UVA11825
摘要:你需要将 n 个集合分成尽量多组,使得每一组里面所有集合的并集等于全集 3 2 1 2 2 0 2 2 0 1 4 1 1 1 0 1 3 1 2 0 f[S]= max(f[S], f[S-j] +1 ) 且 j是一个包含所有点的集合 #include <iostream> #include <a
阅读全文
Robotruck UVA - 1169
摘要:有n个垃圾,第i个垃圾的坐标为(xi,yi),重量为wi。 有一个机器人,要按照编号从小到大的顺序捡起所有垃圾并扔进垃圾桶(垃圾桶在原点(0,0))。 机器人可以捡起几个垃圾以后一起扔掉,但任何时候其手中的垃圾总重量不能超过最大载重C。两点间的行走距离为曼哈顿距离(即横坐标之差的绝对值加上纵坐标之差
阅读全文
UVA10943 How do you add?
摘要:两个数 n,m,求 用 m 个 [0,n] 的整数相加使其和为 n 的方案数。 #include <iostream> #include <cstring> #include <sstream> using namespace std; const int N =102; const int mod
阅读全文