2017年8月15日(模拟7smoj2063,2064,2065暴力、动态规划、数学方法)
来源:互联网 发布:支付宝系统数据库设计 编辑:程序博客网 时间:2024/06/04 19:49
//暴力 #include <stdio.h>using namespace std;#define maxN 50010#define F(i,j,n)for (int i=j; i<=n; i++)int a[maxN],b[maxN];int f[maxN*2];int n;int main(){freopen("2063.in","r",stdin);freopen("2063.out","w",stdout);scanf("%d",&n);F(i,1,n){int x;scanf("%d",&x);f[x]=1;}int p1=0,p2=0;F(i,1,n*2){if (f[i])a[++p1]=i;else b[++p2]=i;}int j=1,ans=0;F(i,1,n)if (a[i]>b[j]){j++;ans++;}printf("%d\n",ans);return 0;}
//动态规划 #include <stdio.h>#include <algorithm>using namespace std;#define F(i,j,n)for (int i=j; i<=n; i++)int f[210][110][110];int n,m,t,d;int _abs(int x){return x>0?x:-x;}int main(){freopen("2064.in","r",stdin);freopen("2064.out","w",stdout);scanf("%d%d%d%d",&n,&m,&t,&d);f[0][0][0]=1;F(i,1,t)F(j,0,n)F(k,0,m)if (f[i-1][j][k]){f[i][0][k]=1;f[i][j][0]=1;f[i][j][m]=1;f[i][n][k]=1;f[i][j][k]=1;int sum=j+k;if (sum>=n)f[i][n][sum-n]=1;else f[i][sum][0]=1;if (sum>=m) f[i][sum-m][m]=1;else f[i][0][sum]=1;}int ans=d;F(i,0,n)F(j,0,m)if (f[t][i][j])ans=min(ans,_abs(i+j-d));printf("%d\n",ans);return 0;}
//数学方法 #include <stdio.h>#include <algorithm>using namespace std;const int maxN=50000;struct Tnode{long long x,y;}a[maxN+maxN];long long c[maxN];int cmp(Tnode x,Tnode y){return x.x<y.x;}int A,B,n,m;int main(){freopen("2065.in","r",stdin);freopen("2065.out","w",stdout);scanf("%d%d%d%d",&A,&B,&n,&m);int nn=0;for (int i=1; i<=n; i++)scanf("%d",&c[i]);c[0]=0;c[n+1]=B;sort(c,c+n+2);for (int i=1; i<=n+1; i++){a[++nn].x=c[i]-c[i-1];a[nn].y=0;}for (int i=1; i<=m; i++)scanf("%d",&c[i]);c[0]=0;c[m+1]=A;sort(c,c+m+2);for (int i=1; i<=m+1; i++){a[++nn].x=c[i]-c[i-1];a[nn].y=1;}sort(a,a+nn+1,cmp);int h=n+1,l=m+1,h1=1,l1=1;long long ans=0;for (int i=1; i<=nn; i++)if (a[i].y==0){ans+=(long long)a[i].x*m;a[i].y=-1;break;}for (int i=1; i<=nn; i++)if (a[i].y==1){ans+=a[i].x*n;a[i].y=-1;break;}for (int i=1; i<=nn; i++){if (a[i].y==0){ans+=(long long)a[i].x*(l-l1);h1++;}if (a[i].y==1){ans+=(long long)a[i].x*(h-h1);l1++;}}printf("%lld\n",ans);return 0;}
阅读全文
0 0
- 2017年8月15日(模拟7smoj2063,2064,2065暴力、动态规划、数学方法)
- 2017年8月14日(模拟6 smoj2060,2061,2062暴力模拟、数学方法求gcd(a^b,c^d)、动态规划)
- 2017年8月18日模拟9(smoj2218、2044、2103,动态规划,动态规划、树链剖分)
- 2017年8月11日(模拟五 2065,2104,2115数学方法、深度搜索、后缀数组+manacher+树状数组+二分)
- 2017年8月12日(模拟四(smoj2193,2194,2195)强连通分量、勾股定理探索、动态规划+容斥原理)
- 2017年8月10日提高组T1 数学
- 2017年8月10日提高组T1 数学
- 2017年8月10日提高组T1 数学
- 2017年8月30日 机房模拟赛题解
- SSL2676 2017年8月10日提高组T1 数学(快速幂)
- 2017模拟赛-本科组 (暴力+DFS+数学)
- 动态规划之最长公共子序列------2012年12月22日,23日
- 本周Spring动态-2017年7月25日
- 2017年8月16日(模拟一1976,1977,1978模拟、找规律、树形DP)
- 2016年7月15日--8月19日(1小时,剩2922小时)
- 2013年12月5日星期四(数学)
- 股票交易日(动态规划)
- 【动态规划】暴力摩托
- spring AOP自定义注解方式实现日志管理
- 求和 杜教筛+莫比乌斯反演
- 20170815(BFS_马,BFS_穿越障碍,双指针)
- new/delete和malloc/free的区别深入解析
- 1 线性表
- 2017年8月15日(模拟7smoj2063,2064,2065暴力、动态规划、数学方法)
- 宽字符注入详解
- PHP 错误Redefining already defined constructor for class如何解决 本地PHP环境PHP5.4,安装ecshop2.7.3后,很多地方会报如下的错
- macOS Sierra上升级Intellij Idea后启动应用报错
- 17-SpringBoot——基础-概述
- 编程者的爱好网站
- python+Eclipse+pydev环境搭建
- 猴子上树
- 测试七 赛后感受