题目链接
有趣的构造题,就是要构造一个矩阵,使得dp出来的结果为0,实际最大值为k,也就是终点的值为k但是终点左边和上边的点dp结果为一个比k大的数且为2n次方,这样最终dp出来的结果就是0,由于k<=100000我们取这个数字为217;直接上代码8.
#include<bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
int n,t;
int k;
int main()
{
int tmp=1<<17;
cin>>k;
cout<<3<<" "<<2<<endl;
cout<<tmp+k<<" "<<k<<endl;
cout<<tmp<<" "<<k+tmp<<endl;
cout<<tmp<<" "<<k<<endl;
}