当前位置: 首页 > news >正文

hdu 2227

和之前的hdu3030都快一样了

可以参考之前的题解

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 1e5+5;
long long n;
long long a[maxn];
long long b[maxn];
long long c[maxn];
long long mod = 1e9+7;
void add(long long c[],long long i,long long j);
long long getsum(long long c[],long long i);
int main()
{
    int i,j,k;
    while(scanf("%lld",&n) != EOF)
    {
        memset(c, 0, sizeof(c));
        for(i=1;i<=n;++i)
        {
            scanf("%lld",a+i);
            b[i] = a[i];
        }
        sort(b+1,b+n+1);
        long long sum = 0;
        for(i=1;i<=n;++i)
        {
            long long ans=0;
            long long pos=lower_bound(b+1,b+n+1,a[i]) - b;
            ans = getsum(c,pos);
            sum += ans+1;
            sum %= mod;
            add(c, pos, ans+1);
        }
        printf("%lld\n",sum);
    }
}
long long lowbit(long long k)
{
    return k&(-k);
}
void add(long long c[],long long i,long long j)
{
    while(i<=n)
    {
        c[i] += j;
        c[i] %= mod;
        i += lowbit(i);
    }
}
long long getsum(long long c[],long long i)
{
    long long sum = 0;
    while(i > 0)
    {
        sum += c[i];
        sum %= mod;
        i -= lowbit(i);
    }
    return sum;
}

 

转载于:https://www.cnblogs.com/mltang/p/8948582.html

相关文章:

  • ViewPager+RadioGroup实现标题栏切换,Fragment切换
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • PyTorch快速入门教程五(rnn)
  • 故障排查
  • 腾讯云服务器 安装监控组件
  • CRM系统客户形成需求和认知的五大因素
  • 【leetcode】55. Jump Game
  • node.js 学习(二)
  • 内华达州PUC特准3.2万光伏用户优惠太阳能补贴费率
  • 文件读,写,拷贝,删除
  • 神州数码网真解决方案助山西电力信息高速化
  • 大数据正在改变企业决策方式
  • Centos 7 配置tomcat服务器
  • 常用软件测试工具的分析
  • 让git更高效--文末有福利
  • php的引用
  • 分享一款快速APP功能测试工具
  • AHK 中 = 和 == 等比较运算符的用法
  • maya建模与骨骼动画快速实现人工鱼
  • Mybatis初体验
  • node学习系列之简单文件上传
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • SpriteKit 技巧之添加背景图片
  • 闭包,sync使用细节
  • 番外篇1:在Windows环境下安装JDK
  • 看域名解析域名安全对SEO的影响
  • 7行Python代码的人脸识别
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​2020 年大前端技术趋势解读
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • $$$$GB2312-80区位编码表$$$$
  • ${factoryList }后面有空格不影响
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [20161214]如何确定dbid.txt
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [AutoSar]状态管理(五)Dcm与BswM、EcuM的复位实现
  • [Bada开发]初步入口函数介绍
  • [dart学习]第四篇:函数
  • [EFI]ASUS EX-B365M-V5 Gold G5400 CPU电脑 Hackintosh 黑苹果引导文件
  • [ESP32] 编码旋钮驱动
  • [Excel] vlookup函数
  • [IE9] 解决了傲游、搜狗浏览器在IE9下网页截图的问题
  • [IE编程] IE中使网页元素进入编辑模式
  • [JS入门到进阶] 7条关于 async await 的使用口诀,新学 async await?背10遍,以后要考!快收藏
  • [leetcode top100] 0924 找到数组中消失的数,合并二叉树,比特位计数,汉明距离
  • [LeetCode] Binary Tree Preorder Traversal 二叉树的先序遍历
  • [LeetCode]—Copy List with Random Pointer 深度复制带“任意指针”的链表
  • [linux] git lfs install 安装lfs
  • [Linux版本Debian系统]安装cuda 和对应的cudnn以cuda 12.0为例