http://codeforces.com/contest/459

A题 Pashmak and Garden

化简化简水题,都告诉平行坐标轴了,数据还出了对角线,后面两个点坐标给的范围也不错

#include <cstdio>
int x[4],y[4];
int abs(int n){return n<0?-n:n;
}
int main(){scanf("%d%d%d%d",x,y,x+1,y+1);int dx=abs(x[0]-x[1]);int dy=abs(y[0]-y[1]);if(dx*dy==0&&dx!=dy){printf("%d %d %d %d\n",x[0]+dy,y[0]+dx,x[1]+dy,y[1]+dx);}else if(dx==dy&&dx!=0){printf("%d %d %d %d\n",x[1],y[0],x[0],y[1]);}else printf("-1\n");return 0;
}

  B:Pashmak and Flowers

被hack的一次出在long long

#include <cstdio>
#include <algorithm>
using namespace std;
int n;
int maxt=-1,mint=0x7fffffff;
long long maxn=0,minn=0;
int main(){scanf("%d",&n);long long ans;for(int i=0;i<n;i++){int temp;scanf("%d",&temp);if(temp>maxt){maxt=temp;maxn=1;}else if(temp==maxt)maxn++;if(temp<mint){mint=temp;minn=1;}else if(temp==mint)minn++;}if(maxt==mint)ans=maxn*(minn-1)/2;else ans=minn*maxn;printf("%d %I64d\n",maxt-mint,ans);return 0;}

  

C:Pashmak and Buses

纯鸽笼,就是看看有没有n>k的情况就好,每次看这次分到一个鸽笼的数目

#include <cstdio>
using namespace std;
int n,k,d;
int ind[1001];
int main(){scanf("%d%d%d",&n,&k,&d);for(int i=1;i<=1000;i++)ind[i]=i;int tn=1;for(int td=0;td<d;td++){tn*=k;if(tn>n)break;}//为了防爆intif(tn<n)puts("-1");else for(int td=0;td<d;td++){for(int i=0;i<n;i++){printf("%d%c",ind[i]%k+1,i==n-1?'\n':' ');ind[i]=(ind[i]+k-1)/k;}tn=(tn+k-1)/k;}return 0;
}

D:Pashmak and Parmida's problem

map统计+树状数组

每从右边(f(j)小)更新答案(sum(f(i)-1)到1)的时候把f(j)加进树状数组就行了

#pragma pack(1)
#include <cstdio>
#include <map>
using namespace std;
map<int,int> mp;
int a[1000000],bit[1000000],pr[1000000];//看成1e5错一回
long long ans;
int n;
int main(){scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",a+i);pr[i]=mp[a[i]]++;}for(int i=n-1;i>-1;i--){for(int j=pr[i];j!=0;j-=(j&-j))ans+=bit[j];for(int j=mp[a[i]]-pr[i];j<n;j+=(j&-j)){bit[j]++;}}printf("%I64d\n",ans);return 0;
}

 E:Pashmak and Graph

dp,要注意的是同一个cost值可能发生相互修改的情况,所以拷贝出来再拷贝回去

 

#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=3e5+1;
struct edge{int f,t,c;bool operator <(const edge & e2) const {return c<e2.c;}
}e[maxn];
int n,m;
int dp[maxn],tt[maxn],pre[maxn];
int main(){scanf("%d%d",&n,&m);for(int i=0;i<m;i++)scanf("%d%d%d",&e[i].f,&e[i].t,&e[i].c);sort(e,e+m);int j;for(int i=0;i<m;i=j){int cnt=0;for(j=i;j<m&&e[j].c==e[i].c;j++){pre[cnt]=dp[e[j].f]+1;tt[cnt++]=e[j].t;}while(cnt-->=0){dp[tt[cnt]]=max(dp[tt[cnt]],pre[cnt]);}}int ans=0;for(int i=1;i<=n;i++)ans=max(ans,dp[i]);printf("%d\n",ans);return 0;
}

  这是更好的姿势,边dp,点更新

#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=3e5+1;
const int maxm=3e5+1;
struct edge{int f,t,c;bool operator <(const edge & e2) const {return c<e2.c;}
}e[maxm];
int n,m;
int dp[maxm],tc[maxn];
int main(){scanf("%d%d",&n,&m);for(int i=0;i<m;i++)scanf("%d%d%d",&e[i].f,&e[i].t,&e[i].c);sort(e,e+m);int j=0;for(int i=0;i<m;i++){while(e[j].c<e[i].c){tc[e[j].t]=max(dp[j],tc[e[j].t]),j++;}dp[i]=tc[e[i].f]+1;//learning}int ans=0;for(int i=0;i<m;i++)ans=max(ans,dp[i]);printf("%d\n",ans);return 0;
}

  

转载于:https://www.cnblogs.com/xuesu/p/3917284.html

CF 459A 459B 459C 459D 459E相关推荐

  1. 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!

    前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...

  2. OC对象 vs CF对象

    2019独角兽企业重金招聘Python工程师标准>>> OC对象 vs CF对象 在ARC场景下,对象所有权没有转换 使用__bridge关键字即可实现CF对象和OC对象之间的自由转 ...

  3. CF 990A. Commentary Boxes【数学/模拟】

    [链接]:CF [题意]:对于一个数n,每次加一的代价是a,每次减一的代价是b,求被m整除时的最小代价. [分析]:分情况讨论,自己多举几个栗子. [代码]: #include<cstdio&g ...

  4. 推荐算法——基于协同过滤CF

    https://www.toutiao.com/a6643326861214482957/ 2019-01-06 18:21:09 前边我们已经介绍了推荐算法里的基于内容的推荐算法CB,今天我们来介绍 ...

  5. 索引贴——移动开发(.Net CF 停止更新)

    这是关于本人博客的技术索引贴,希望能方便的让您阅读到相关技术文章--不断更新中.一整理才发现,好多啊,哈哈- 一..Net CF技巧:搜集.转载一些和CF开发相关的辅助文章,比较适合初学者.开发入门者 ...

  6. 解答:CF截图保存在哪

    为什么80%的码农都做不了架构师?>>>    大家玩CF(穿越火线)的时候遇到精彩的画面总希望截图保存下来,然而有些游戏玩家截图后却不知道CF截图保存在哪!这不得不说是个悲剧,但是 ...

  7. CF里面的资源载入问题

    前一段时间已经发现CF在载入资源的时候会怪怪的,但是这一段时间都不曾记起要对这个问题研究一下.最近又发现这个问题了,实在是恼火.俗话说择日不如撞日(粤语),唉,就今天啦.这个问题是在VS2k5里面调试 ...

  8. [CF.Skills]播放嵌入资源的声音文件

    [CF.Skills]播放嵌入资源的声音文件 摘要:本文阐述了在Windows Mobile中如何播放潜入资源的声音文件KeywordsPlaySound, Windows Mobile, Embed ...

  9. CF#190DIV.1

    1 /* 2 CF#190DIV.1-C 3 题意:给你n个结点的树,给这些结点标记字母AB..Z,对于标记相同的结点路径上 4 的结点的标记必须有一个是大于该标记的:问是否可以标记(A是最大标记) ...

最新文章

  1. IOS 学习资料汇总(^_^)
  2. 循环体内,字符串的连接方式,使用StringBuilder的append方法进行扩展
  3. TS Annotation
  4. mysql full customer_mysql优化通常使用的几种方法
  5. ezcad旋转轴标刻参数_激光打标机软件ezcad系统参数设置
  6. 2020 年 Github 上最牛的 Java 进阶教程及 Java 实战项目都在这里了!
  7. 苹果退款_销售和退款政策 - Apple (中国大陆)
  8. [Jenkins]如何自动停止超时任务?
  9. 相声段子:How Are You
  10. 停息挂账一定要付首付款吗_什么是停息挂账?停息挂账能解决问题吗?
  11. 最新钣金设备制造公司网站模板源码+手机端+后台
  12. java代码开发类似知网导出_知网语义相似度计算java实现 - 源码下载|其它|中文信息处理|源代码 - 源码中国...
  13. Chap.18 总结《CL: An Introduction》 (Vyvyan Evans)
  14. IOS仿[自选股]项目开发
  15. 阿里云盘内测申请_阿里云网盘公测预约开始了,现在申请还送2个T的空间!
  16. 【开源】手机APP通过IoT点亮LED灯(STM32+ESP8266+阿里云+MQTT+Android)
  17. 如何选购合适的IPKVM切换器
  18. DockerFile---构建docker镜像的文件
  19. 实现epub中链接脚注加1的操作
  20. 2022-2028年全球与中国铌酸锂晶体行业发展趋势及投资战略分析

热门文章

  1. java调用存储过程分页
  2. python自定义变量名_Python 动态变量名定义与调用
  3. 【Nutch2.2.1基础教程之6】Nutch2.2.1抓取流程
  4. 【Nutch2.2.1基础教程之1】nutch相关异常
  5. AdapterView及其子类之二:使用ListActivity及ArrayAdapter创建列表
  6. Scala入门到精通——第十一节 Trait进阶
  7. ubuntu16.04 安装docker-ce,解决libltdl7版本过低的问题
  8. MySQL关闭查询缓存(QC)的两种方法
  9. SparkJavaAPI:join的使用
  10. docker之Dockerfile指令介绍