p1004vijos

author author     2022-08-27     150

关键词:

http://www.cnblogs.com/JerryZheng2005/articles/6685991.html

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int n,m,a[21],b[21];
 5 long long f[21][201];
 6 
 7 long long mi(int x,int y)
 8 {
 9     long long t=1;
10     for (int i=0;i<y;i++) t*=x;
11     return t;
12 }
13 
14 int main()
15 {
16     long long t;
17     int i,j,k;
18     cin>>n>>m;
19     for (i=1;i<=m;i++) cin>>a[i]>>b[i];
20     for (i=1;i<=n;i++) f[0][i]=0x7fffffff;
21     for (i=1;i<=m;i++)
22         for (j=1;j<=n;j++)
23         {
24             t=f[i-1][j];
25             for (k=1;k<=j;k++)
26                 t=min(t,f[i-1][j-k]+a[i]*mi(k,b[i]));
27             f[i][j]=t;
28         }
29     cout<<f[m][n]<<endl;
30     return 0;
31 }

 

p1004方格取数

---恢复内容开始---题目描述设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放人数字0。如下图所示(见样例):A000000000013006000000700000014000002100040000150000001400000000000000.B某人从图的左上角的A点出... 查看详情

洛谷p1004方格取数

链接:https://www.luogu.org/problem/show?pid=1004题目描述设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放人数字0。如下图所示(见样例):A000000000013006000000700000014000002100040000150000001400000000000000.B某人... 查看详情

p1004方格取数(代码片段)

P1004方格取数   解题思路:这个题目显然可以搜索,运用dfs的知识去求解但我们毕竟是dp题,还是考虑动态规划的方法我们发现这道题目中说:一个人走两次如果按照如上思路,那么会用两次的计算,相对来说比较复... 查看详情

p1004方格取数

题目描述设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放人数字0。如下图所示(见样例):A000000000013006000000700000014000002100040000150000001400000000000000.B某人从图的左上角的A点出发,可以向下行走... 查看详情

p1004方格取数

题目描述设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放人数字0。如下图所示(见样例):A000000000013006000000700000014000002100040000150000001400000000000000.B某人从图的左上角的A点出发,可以向下行走... 查看详情

洛谷[p1004]方格取数

题目描述设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放人数字0。如下图所示(见样例):A000000000013006000000700000014000002100040000150000001400000000000000.B某人从图的左上角的A点出发,可以向下行走... 查看详情

方格取数洛谷p1004

题目描述设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放人数字0。如下图所示(见样例):A000000000013006000000700000014000002100040000150000001400000000000000.B某人从图的左上角的A点出发,可以向下行走... 查看详情

动态规划洛谷p1004方格取数

题目描述设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放人数字0。如下图所示(见样例):A000000000013006000000700000014000002100040000150000001400000000000000.B某人从图的左上角的A点出发,可以向下行走... 查看详情

洛谷p1004方格取数多线程dp/四维dp/

题目描述(https://www.luogu.org/problemnew/show/1004)设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放人数字0。如下图所示(见样例):A000000000013006000000700000014000002100040000150000001400000000000000.B某人从... 查看详情

p1004方格取数(代码片段)

设有N×N的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。某人从图中的左上角出发,可以向下行走,也可以向右行走,直到到达右下角。在走过的路上,他可以取走方格中的数(取走后的方格中将... 查看详情

vijos在vijos的自己的域中创建题目(代码片段)

创建属于自己的域https://vijos.org/填入对应信息即可。创建题目点击题库往下拉,点击创建题目进入题目之后,点击设置接下来就是重点,配置数据点:(如果想直接用,后面有捷径。)写一个正确答案... 查看详情

vijos1057盖房子

二次联通门: Vijos1057盖房子  /*Vijos1057盖房子简单的dp当前点(i,j)所能构成的最大的正方形的边长为点(i-1,j-1)与(i,j-1),(i-1,j)三点中最小的边长构成..一遍递推,一边取最大即可*/#include<cstdio>#defineMax1009inlineintmin(inta,intb){... 查看详情

vijos1412多人背包

01背包+归并看的题解 https://vijos.org/p/1412/solution#include<cstdio>#include<cstring>usingnamespacestd;inta[205];intb[205];intf[5005][55];intk,n,v;voidwork(int*aa,int*bb,intc){intt[105];intt 查看详情

vijos1285&1283&1282&1284佳佳的魔法药水/魔杖/魔法照片/魔法阵

题目链接:https://vijos.org/p/1285https://vijos.org/p/1283https://vijos.org/p/1282https://vijos.org/p/1284  查看详情

vijos1982子串

感谢http://blog.csdn.net/gengmingrui/article/details/49849023#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#definemaxn1050#definemaxm250#definemod10000000 查看详情

vijos1001

按照题意模拟即可。#include<string>#include<iostream>#include<algorithm>usingnamespacestd;intmain(){stringname;intn,tot=0,ans=-1;cin>>n;for(inti=1;i<=n;i+=1){stringna;intva=0,k1,k2,k3 查看详情

vijos1104采药

  不用说了,裸的01背包。#include<cstdio>#include<cctype>#include<algorithm>usingnamespacestd;inlineintread(){charc;while(c=getchar(),!isdigit(c));intx=c-‘0‘;while(c=getchar(),isdigit(c))x=x*10 查看详情

[vijos1011]滑雪

暴搜1#include<cstdio>2#include<iostream>3#include<cstring>4usingnamespacestd;56intnum[505][505];7intAns=1,n,m;8intfx[4]={0,0,1,-1};9intfy[4]={1,-1,0,0};1011voiddfs(intx,inty,intlen){12 查看详情