首页 > 其他分享 >8.2做题记录

8.2做题记录

时间:2023-08-03 09:55:47浏览次数:32  
标签:sort 8.2 记录 int ++ 做题 freopen 1005 dp

 

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 struct node{
 4     int x,y,z,s;
 5 }f[1005];
 6 int a[4],l,ans,dp[1005];
 7 bool cmp(node c,node d)
 8 {
 9     return c.x<=d.x;
10 }
11 bool big(int x,int y)
12 {
13     return x>y;
14 }
15 int main()
16 {
17     freopen("tower.in","r",stdin);
18     freopen("tower.out","w",stdout);
19     int n;
20     cin>>n;
21     for(int i=1;i<=n;i++)
22     {
23         cin>>a[1]>>a[2]>>a[3];
24         sort(a+1,a+4,big);
25         f[++l]={a[1],a[2],a[3],a[1]*a[2]};
26         f[++l]={a[1],a[3],a[2],a[1]*a[3]};
27         f[++l]={a[2],a[3],a[1],a[2]*a[3]};
28     }
29     sort(f+1,f+l+1,cmp);
30     for(int i=1;i<=l;i++)
31     {
32         dp[i]=f[i].z;
33         for(int j=i;j>=1;j--)
34         {
35             if(f[j].x<f[i].x && f[j].y<f[i].y)
36                 dp[i]=max(dp[i],dp[j]+f[i].z);
37         } 
38         ans=max(ans,dp[i]);
39     }
40     cout<<ans;
41     return 0;
42 }

 1 #include<bits/stdc++.h>
 2 typedef long long ll;
 3 using namespace std;
 4 ll dp[3][1005][1005],f[3][1005][1005];
 5 int main()
 6 {
 7     freopen("tlrw.in","r",stdin);
 8     freopen("tlrw.out","w",stdout);
 9     ll n;
10     cin>>n;
11     for(int i=1;i<=n;i++)
12         for(int j=1;j<=n;j++)
13         {
14             ll x;
15             cin>>x;
16             while(x%2==0)
17             {
18                 dp[1][i][j]++;
19                 x/=2;
20             }
21             while(x%5==0)
22             {
23                 dp[2][i][j]++;
24                 x/=5;
25             }
26         }
27     for(int i=1;i<=n;i++)
28         for(int j=1;j<=n;j++)
29         {
30             if(i==1&&j==1)
31             {
32                 f[1][i][j]=dp[1][i][j];
33                 f[2][i][j]=dp[2][i][j];
34             }
35             else if(i==1)
36             {
37                 f[1][i][j]=dp[1][i][j]+f[1][i][j-1];
38                 f[2][i][j]=dp[2][i][j]+f[2][i][j-1];
39             }
40             else if(j==1)
41             {
42                 f[1][i][j]=dp[1][i][j]+f[1][i-1][j];
43                 f[2][i][j]=dp[2][i][j]+f[2][i-1][j];
44             }
45             else
46             {
47                 f[1][i][j]=dp[1][i][j]+min(f[1][i][j-1],f[1][i-1][j]);
48                 f[2][i][j]=dp[2][i][j]+min(f[2][i][j-1],f[2][i-1][j]);
49             }
50         }
51     cout<<min(f[1][n][n],f[2][n][n]);
52     fclose(stdin);
53     fclose(stdout);
54     return 0;
55 }

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n,a[5005],v[5005],ans,m;
 4 int main()
 5 {
 6     freopen("box.in","r",stdin);
 7     freopen("box.ans","w",stdout);
 8     ios::sync_with_stdio(false);
 9     cin>>n;
10     for (int i=1;i<=n;i++) cin>>a[i];
11     sort(a+1,a+n+1);
12     for (int i=1;i<=n;i++)
13         if(!v[i])
14         {
15             ans++;
16                 m=1;
17             for (int j=i+1;j<=n;j++)
18             if (!v[j]&&a[j]>=m)
19             {
20                 v[j]=1;
21                 m++;
22             }
23         }
24     cout<<ans<<endl;
25     fclose(stdin);
26     fclose(stdout);
27     return 0;
28 }

 

 


 

标签:sort,8.2,记录,int,++,做题,freopen,1005,dp
From: https://www.cnblogs.com/wyh0721/p/17602468.html

相关文章

  • shell 8.2
    特殊变量:$0获取脚本文件名,以及脚本路径$n获取shell的第n个参数,n在1~9之间$#获取参数的总个数$*获取shell脚本的所有参数(接受整体字符串)$@获取shell脚本的所有参数(接受单个字符串)一些语法:-ne不等于 ......
  • 8.2
    以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。输入格式:输入在一行中给出出生年份y和目标年份......
  • 2023.8.2
    今天去把之前学的SROP的东西从头梳理了一遍,然后记到了笔记本上,记完之后,我感觉基本上这一块的内容也算是彻底搞明白了。明天开始看花式栈溢出,可能之后还有别的事情要忙,我尽量每天都能花一些时间在网安的学习上。......
  • 暑假集训D9 2023.8.2 补题
    A.「EZEC-10」排列排序给你一个长度为\(n\)的排列\(p_1,p_2,\cdots,p_n\)。你需要把它排序。每次可以花区间长度,即\(r-l+1\)的代价,选择排列中的任意一段区间\([l,r]\),并将\([l,r]\)从小到大排序。现在你可以让他进行若干次这个操作,直到\(p\)中元素的值从\(1\)到......
  • [解题报告] 2023.8.2 dp专题练习赛
    比赛链接:Link[团队私有]T1:https://www.cnblogs.com/SXqwq/p/17600671.htmlT2:https://www.cnblogs.com/SXqwq/p/17601007.htmlT3:完全背包板子T4:https://www.cnblogs.com/SXqwq/p/17601622.html......
  • 8.2 后记
    T1简单的最短路到终点时不用等红灯,不然会挂40ptT2记\(f(i,j)\)表示跳到\((i,j)\)最少使用的体力。那么转移就是枚举上一个位置然后加上曼哈顿距离求最小值。考虑优化,我们注意到如果转移都在左上的话坐标正负的贡献是固定的,所以可以使用数据结构维护。先按照一维扫描线......
  • 鸟哥Linux私房菜学习记录day7
    第十三章  Linux账号管理与ACL权限设置1.账号名称2.密码,但已经不用,用x表示,密码放置到/etc/shadow3.UID,0表示系统管理员,1-999表示系统账号,1000-60000表示可登录用户。4.GID,与/etc/group有关。5.用户信息说明栏:只是用来解释这个账号的意义。6.家目录:可以修改。7.shell:当用户登......
  • CTFer成长记录——CTF之Web专题·极客大挑战—Upload
    一、题目链接https://buuoj.cn/challenges#[%E6%9E%81%E5%AE%A2%E5%A4%A7%E6%8C%91%E6%88%98%202019]Upload二、解法步骤  本题是一个文件上传题目,先测试是黑名单还是白名单:随便上传一个文件,提示:  看来只能上传图片类型,这个时候我们bp抓包并且修改包中的content字段,将其改......
  • 记录--canvas 复刻锤子时钟
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助介绍canvas:使用脚本(通常为JavaScript)来绘制图形的HTML元素。本人遍历了以下两份文档,学习完就相当于有了笔和纸,至于最后能画出什么,则需要在canvas应用方面进一步学习。MDN的Canvas教程1张鑫旭的Ca......
  • 8.2
    前几天因为家里有事导致任务未能按时完成,索性今天将kali虚拟机安装完成,重看了一遍学长的文档发现系统需要使用Python语言决定先掌握Python后再考虑下一步编写代码,之前国赛搭的环境有些许问题所以今天全部删除重新思考一下怎么安装。同时打算将《网络是怎样连接的》这本书的阅读穿......