Patting Heads 轻拍牛头 bzoj-1607 Usaco-2008 Dec

题目大意题目链接

注释:略。


想法:我们发现,位置是没有关系的。

故,我们考虑将权值一样的牛放在一起考虑,cnt[i]表示高度为i的牛的个数。

之后考虑每个权值的牛造成的贡献即可,就是向后枚举。

时间复杂度是调和数列,$O(nlogn)$。

最后,附上丑陋的代码... ...

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 100010
#define M 1000010
using namespace std; int n,ans[M],a[N],maxn,stack[M];
inline char nc() {static char *p1,*p2,buf[100000]; return (p1==p2)&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;}
int rd() {int x=0; char c=nc(); while(!isdigit(c)) c=nc(); while(isdigit(c)) x=(x<<3)+(x<<1)+(c^48),c=nc(); return x;}
int main()
{
int n=rd(); for(int i=1;i<=n;i++) a[i]=rd(),stack[a[i]]++,maxn=max(maxn,a[i]);
for(int i=1;i<=n;i++) if(stack[a[i]])
{
int k=a[i];
while(k<=maxn)
{
ans[k]+=stack[a[i]];
k+=a[i];
}
stack[a[i]]=0;
}
for(int i=1;i<=n;i++) printf("%d\n",ans[a[i]]-1);
return 0;
}

小结:无。

最新文章

  1. 如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)
  2. [LeetCode] Rotate Array 旋转数组
  3. EC笔记,第二部分:9.不在构造、析构函数中调用虚函数
  4. jquery自定义插件——以 选项卡插件为例
  5. Failed to create the Java Virtual Machine.问题的解决
  6. Android内存泄露
  7. C++ 虚函数在基类与派生类对象间的表现及其分析
  8. Unity-Animator深入系列---录制与回放
  9. 大容量导入和导出 XML 文档的示例
  10. a标签至于flash之上的时候,IE浏览器无法点击连接的问题
  11. bzoj 2821 分块处理
  12. MySQL查看表占用空间大小(转)
  13. Cocos2d-x 程序是如何开始运行与结束的
  14. Android设置上下边框或者左右边框
  15. debian安装vld来查看Opcode,PHP调优。
  16. 腾讯AlloyTeam正式发布Canvas魔幻线条 - curvejs
  17. ExpandableListView使用
  18. JavaEE第六周
  19. Emoji表情代码大全
  20. 基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)

热门文章

  1. 【js】JavaScript parser实现浅析
  2. springmvc中的web.xml配置(包含中文乱码解决)
  3. SCRIPT70: 没有权限
  4. LN : leetcode 399 Evaluate Division
  5. 1619. [HEOI2012]采花
  6. Android OKHttp网络框架
  7. python自动化--接口请求及封装
  8. glassfish中新建数据源(创建数据库连接池)
  9. dubbo-monitor安装及配置过程
  10. arx刷新图形界面