xrj的周结(1)

B. I Hate 1111

You are given an integer xx. Can you make xx by summing up some number of 11,111,1111,11111,…11,111,1111,11111,…? (You can use any number among them any number of times).

For instance,

  • 33=11+11+1133=11+11+11
  • 144=111+11+11+11144=111+11+11+11

Input

The first line of input contains a single integer tt (1≤t≤10000)(1≤t≤10000) — the number of testcases.

The first and only line of each testcase contains a single integer xx (1≤x≤109)(1≤x≤109) — the number you have to make.

Output

For each testcase, you should output a single string. If you can make xx, output "YES" (without quotes). Otherwise, output "NO".

You can print each letter of "YES" and "NO" in any case (upper or lower).

#include<bits/stdc++.h>

using namespace std;

int a[1010];

int main()
{
int t;
cin>>t;


while(t--)
{
int n;
cin>>n;

    int x=n/11,r=n%11;
    if(x/10>=r)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}

return 0;
}
//  111,1111,11111.....都可以由11,111组成  10*11+1=111 余数足以构成111即可(x/10>=r) 每十个11有余数1;

dd爱科学1.0

大科学家dddddd最近在研究转基因白菜,白菜的基因序列由一串大写英文字母构成,dddddd经过严谨的推理证明发现,只有当白菜的基因序列呈按位非递减形式时,这株白菜的高附加值将达到最高,于是优秀的dddddd开始着手修改白菜的基因序列,dddddd每次修改基因序列的任意位需要的代价是111,dddddd想知道,修改白菜的基因序列使其高附加值达到最高,所需要的最小代价的是多少。

输入描述:

第一行一个正整数n(1≤n≤1000000)

第二行一个长度为n的字符串,表示所给白菜的基因序列

保证给出字符串中有且仅有大写英文字母

输出描述:

输出一行,表示最小代价

示例1

输入

5
ACEBF

输出

1

说明

改成ACEEF或者ACEFF,都只用改动一个字符,所需代价最小为1
#include<bits/stdc++.h>

using namespace std;

const int N=1000010;

int f[N];
int n;
int main()
{
    cin>>n;
    getchar();
    
    string s;
    getline(cin,s);
    
    int cnt=0;
    f[cnt++]=s[0];
    for(int i=1;i<n;i++)
    {
        if(s[i]>=f[cnt-1]) f[cnt++]=s[i];
        else
        {
            int l=0,r=cnt-1;
            while(l<r)
            {
                int mid=(l+r)/2;
                if(f[mid]>s[i])
                    r=mid;
                else
                    l=mid+1;
            }
            f[l]=s[i];
        }
    }
    
    cout<<n-cnt;
    
    return 0;
}

dd爱科学2.0
 

题目描述

大科学家dddddd最近在研究转基因白菜,白菜的基因序列由一串大写英文字母构成,dddddd经过严谨的推理证明发现,只有当白菜的基因序列呈按位非递减形式时,这株白菜的高附加值将达到最高,于是优秀的dddddd开始着手修改白菜的基因序列,dddddd每次可以选择基因序列的一位进行修改,每次当她把一个字母xxx修改成yyy时,会产生∣x−y∣|x-y|∣x−y∣(即xxx与yyy的ASCIIASCIIASCII码差值的绝对值)的改动偏移量,dddddd希望,修改白菜的基因序列使其高附加值达到最高,并且基因序列的改动偏移量总和最小,她想知道最小的改动偏移量总和是多少。

输入描述:

第一行一个正整数n(1≤n≤1000000)

第二行一个长度为n的字符串,表示所给白菜的基因序列

保证给出字符串中有且仅有大写英文字母

输出描述:

输出一行,表示最小改动偏移量总和

示例1

输入

5
AEEBC

输出

5

说明

改成AEEEE或ACCCC偏移量总和最小

改成AEEEE,偏移量总和为|B-E|+|C-E|=3+2=5

改成ACCCC,偏移量总和为|E-C|+|E-C|+|B-C|=2+2+1=5

所以最小偏移量总和为5

#include<bits/stdc++.h>
 
using namespace std;
 
const int N=1000010;
 
int f[N][30];
char s[N];
int n;
int main()
{
    scanf("%d",&n);
    getchar();
    cin>>s+1;
     
    for(int i=1;i<=n;i++)
    {
        int tt=1e9;
        for(int j=0;j<26;j++)
        {
            tt=min(tt,f[i-1][j]);
            long long ans=abs(s[i]-'A'-j);
            f[i][j]=tt+ans;
        }
    }
     
    int ans=1e9;
    for(int i=0;i<26;i++)
        ans=min(ans,f[n][i]);
     
    cout<<ans;
     
    return 0;
}

9. 分组背包问题(模板题)

有 N 组物品和一个容量是 V 的背包。

每组物品有若干个,同一组内的物品最多只能选一个。
每件物品的体积是 vij,价值是 wij,其中 i 是组号,j 是组内编号。

求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。

输出最大价值。

输入格式

第一行有两个整数 N,VN,V,用空格隔开,分别表示物品组数和背包容量。

接下来有 NN 组数据:

  • 每组数据第一行有一个整数 Si,表示第 i 个物品组的物品数量;
  • 每组数据接下来有 Si 行,每行有两个整数 vij,wij,用空格隔开,分别表示第 i 个物品组的第 j 个物品的体积和价值;

输出格式

输出一个整数,表示最大价值。

数据范围

0<N,V≤1000
0<Si≤1000
0<vij,wij≤1000

输入样例

3 5
2
1 2
2 4
1
3 4
1
4 5

输出样例:

8
#include<bits/stdc++.h>

using namespace std;

const int N=110;

int f[N];
int v[N][N],w[N][N];
int n,m;
int s[N];
int main()
{
    cin>>n>>m;
    
    for(int i=1;i<=n;i++)
    {
        cin>>s[i];
        for(int j=0;j<s[i];j++)
        cin>>v[i][j]>>w[i][j];
    }
    
    for(int i=1;i<=n;i++)
    for(int j=m;j>0;j--)
    for(int k=0;k<s[i];k++)
    if(j>=v[i][k])
    f[j]=max(f[j],f[j-v[i][k]]+w[i][k]);
    
    cout<<f[m];
    
    return 0;
}

本周主要学习了dp的相关知识,可碰到题大概率还是不会,(哭唧唧)。 还是要多练啊。我是xrj!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
headers = { "User-Agent": "Mozilla/5.0", "Accept-Language": "en-US,en;q=0.5", } #buff_cookie=Device-Id=XLjfIKmqYdZOl13kurAk; Locale-Supported=zh-Hans; game=csgo; NTES_YD_SESS=uRfvo1tg47qUhPC.zZn1eYfeulPZJ2LrgyFtvmT21FmVZ2qhZLps8NoRt2I6u42nBEfAl0DC2kr3Q0MJx1R_cgLha79FUaGziH_Ab0547Pp.m82.XHkIJ.cB9YRyjBJhrGvBgP8AcQAJKvnEU3mUbjNiZ_PWF5vhvnUMr1J95ljN8yzPU5DYCD7xRj4i3j3Z.LgtnCnAf44KDtYtOTI1CLIWZvkZ.tg_U_TZve0Q.WMMi; S_INFO=1686062063|0|0&60##|17860971786; P_INFO=17860971786|1686062063|1|netease_buff|00&99|null&null&null#not_found&null#10#0|&0||17860971786; remember_me=U1097288259|fSimYVO9MRMclOPjMhKxdzwo4KQ8Inz5; session=1-kTFVdNzCYMqOg0xjyicwy9GNHvKIN0dMQpwIFW2fVCbE2041173275; csrf_token=ImVmYzdiN2I0NTg5MGQyY2VlZDQwMGQxNzIxOTI1ZGIzNGE1MzI0Nzgi.F2DVgA.bHasgO17bW8V-MVkHAfrdjJDMuU buff_cookie="Device-Id=XLjfIKmqYdZOl13kurAk; Locale-Supported=zh-Hans; game=csgo; NTES_YD_SESS=uRfvo1tg47qUhPC.zZn1eYfeulPZJ2LrgyFtvmT21FmVZ2qhZLps8NoRt2I6u42nBEfAl0DC2kr3Q0MJx1R_cgLha79FUaGziH_Ab0547Pp.m82.XHkIJ.cB9YRyjBJhrGvBgP8AcQAJKvnEU3mUbjNiZ_PWF5vhvnUMr1J95ljN8yzPU5DYCD7xRj4i3j3Z.LgtnCnAf44KDtYtOTI1CLIWZvkZ.tg_U_TZve0Q.WMMi; S_INFO=1686062063|0|0&60##|17860971786; P_INFO=17860971786|1686062063|1|netease_buff|00&99|null&null&null#not_found&null#10#0|&0||17860971786; remember_me=U1097288259|fSimYVO9MRMclOPjMhKxdzwo4KQ8Inz5; session=1-kTFVdNzCYMqOg0xjyicwy9GNHvKIN0dMQpwIFW2fVCbE2041173275; csrf_token=ImVmYzdiN2I0NTg5MGQyY2VlZDQwMGQxNzIxOTI1ZGIzNGE1MzI0Nzgi.F2DVgA.bHasgO17bW8V-MVkHAfrdjJDMuU" headers['Cookie'] = buff_cookie base_url="https://buff.163.com/api/market/goods/sell_order?game=csgo&goods_id=%goods_id%&page_num=1" goods_id=35245 base_url= base_url.replace('%goods_id%',str(goods_id)) print(base_url)
06-09

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值