头像

Auto


访客:1261

离线:16天前



Auto
7个月前
#include <iostream>
using namespace std;
const int N = 1010;

int n,V;

int v,w;
int p[N][N];
int f[N];
int main()
{
    cin >> n >>V;

    for(int i = 1; i <=n; i++)
    {
        cin >> v >> w;

        for(int j = v; j <= V;j++)
        {
            f[j] = max(f[j-v] + w,f[j]);
        }

        for(int j = 0;j <= V;j++)
        {
            p[i][j] = p[i-1][j];
            if(j>=v)
            p[i][j] = max(p[i][j-v] + w,p[i][j]);
        }


    }

    cout << p[n][V] << endl;
    // cout << f[V] << endl;
    return 0;
}





Auto
7个月前
#include <iostream>
using namespace std;
const int N = 1010;

int n,V;

int v,w;
int f[N];
int p[N][N];

int main()
{
    cin >> n >>V;

    for(int i = 1; i <=n; i++)
    {
        cin >> v >> w;

        /*
            二维
        */

        for(int j = 0;j<=V;j++)
        {
            p[i][j] = p[i-1][j];
            if(j>=v)
            {
                p[i][j] = max(p[i-1][j-v]+w,p[i][j]);
            }
        }

        /*
            一维
        */
        for(int j = V; j >=v;j--)
        {
            f[j] = max(f[j],f[j-v] + w);
        }

    }

    // cout << f[V] << endl;
    cout << p[n][V];

    return 0;
}



Auto
7个月前
#include <iostream>
using namespace std;

int main()
{
    int a,b;
    cin >> a>> b;
    cout << a + b << endl;
    return 0;
}


活动打卡代码 AcWing 231. Power of Two

Auto
2019-05-16 06:52
class Solution {
public:
    bool isPowerOfTwo(int n) {
        if(n<=0)
            return false;
        if((n&-n)==n)
            return true;
        return false;
    }
};


活动打卡代码 AcWing 99. 激光炸弹

Auto
2019-04-21 13:51
/*
此代码我是抄袭的
*/
#include <iostream>

using namespace std;

const int N =5010;
int g[N][N];
int main()
{
    int n,r,x,y,w;
    cin>>n>>r;
    int mx=r,my=r;
    for(int i=1;i<=n;i++)
    {
        cin>>x>>y>>w;
        x++,y++;//如果输入的x为0的话,x就变成1了,这样就避免了越界等一系列问题
        mx=max(mx,x);
        my=max(my,y);
        g[x][y]=w;
    }
    for(int i=1;i<=mx;i++)
    {
        for(int j=1;j<=my;j++)
        {
            g[i][j]=g[i][j]+g[i-1][j]+g[i][j-1]-g[i-1][j-1];//求第n个区域的和,这个和为正方形的和
        }
    }
    int res=0;
    for(int i=r;i<=mx;i++)
    {
        for(int j=r;j<=my;j++)
        {
            res=max(res,g[i][j]-g[i-r][j]-g[i][j-r]+g[i-r][j-r]);//求出为r的正方的和的最大值;
        }
    }
    cout<<res<<endl;
    return 0;
}



Auto
2019-04-12 11:29
#include <iostream>

#define boost ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#include <algorithm>
#include <vector>
using namespace std;

int main()
{
    int n;
    cin>>n;
    vector<int>v;
    for(int i=1;i<=n;i++)
    {
        v.push_back(i);
    }
    do
    {

        for(auto &a:v)
        {
            cout<<a<<" ";
        }
        cout<<endl;
    }while(next_permutation(v.begin(),v.end()));
    return 0;
}



Auto
2019-04-12 11:06
#include <iostream>
using namespace std;
int n;
void dfs(int u,int state)
{
    if(u==n)
    {
        for(int i=0;i<n;i++)
        {
            if(state>>i&1)
            {
                cout<<i+1<<" ";
            }
        }
        cout<<endl;
        return ;
    }

    dfs(u+1,state);
    dfs(u+1,state|(1<<u));
}
int main()
{

    cin>>n;
    dfs(0,0);
    return 0;
}



Auto
2019-04-12 11:05
#include <iostream>
using namespace std;
#include <vector>
int n,m;
vector<int>v;
vector<vector<int>>res;
#define boost ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);//这个东西很重要,因为实在是太长了,所以我每次都打出来,这样下一次就会记住了

void dfs(int u,int state,int sum)//u 表示递归的层数,state表示要选择的数,sum 表示当前已经选择的数的个数
{
    if(n-u+sum<m)//递归边界,如果剩余的数不足m个,就可以直接退出,无须再次向下递归
    {
        return;
    }
    if(sum==m)//表示当前已经选择了m个数;
    {
        for(int i=0;i<n;i++)
        {
            if(state>>i&1)//选择哪个数,state的第几为就为1
            {
                cout<<i+1<<" ";
            }
        }
        cout<<endl;
        return ;
    }
    dfs(u+1,state|1<<u,sum+1);//选择这个数,并把这个数对应的第几位的state置为1
    dfs(u+1,state,sum);//表示不选择该数
}
int main()
{
    boost;
    cin>>n>>m;
    dfs(0,0,0);
    return 0;
}



活动打卡代码 AcWing 90. 64位整数乘法

Auto
2019-04-11 14:12
#include <iostream>

using namespace std;

typedef long long ll;

ll mul(ll a,ll b,ll c)
{
    ll res=0;
    while(b)
    {
        if(b&1)
        {
            res=(res+a)%c;
        }
        b>>=1;
        a=a*2%c;
    }

    return res;
}
int main()
{
    ll a,b,c;
    cin>>a>>b>>c;
    cout<<mul(a,b,c)<<endl;
    return 0;
}


活动打卡代码 AcWing 89. a^b

Auto
2019-04-11 14:08
#include <iostream>
using namespace std;
typedef long long ll;
ll power(ll a,ll b,ll c)
{
    ll res=1;
    while(b)
    {
        if(b&1)
        {
            res=res*a%c;
        }
        b=b>>1;
        a=a*a%c;
    }
    return res;
}
int main()
{
    ll a,b,c;
    cin>>a>>b>>c;
    if(c==1)
    {
        cout<<0<<endl;
    }
    else
    cout<<power(a,b,c)<<endl;
    return 0;
}