当前位置: 首页 > 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更高效--文末有福利
  • 分享一款快速APP功能测试工具
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 《深入 React 技术栈》
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 230. Kth Smallest Element in a BST
  • ES6 ...操作符
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • extract-text-webpack-plugin用法
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Laravel Mix运行时关于es2015报错解决方案
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Mithril.js 入门介绍
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 百度地图API标注+时间轴组件
  • 机器学习 vs. 深度学习
  • 小试R空间处理新库sf
  • 智能合约开发环境搭建及Hello World合约
  • ​2021半年盘点,不想你错过的重磅新书
  • # Apache SeaTunnel 究竟是什么?
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #NOIP 2014# day.2 T2 寻找道路
  • (C语言)fread与fwrite详解
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)RocketMQ初步认识
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)linux 命令大全
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .NET MVC第五章、模型绑定获取表单数据
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET上SQLite的连接
  • @angular/cli项目构建--Dynamic.Form
  • @Conditional注解详解
  • [ 蓝桥杯Web真题 ]-布局切换
  • [<MySQL优化总结>]
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [16/N]论得趣
  • [30期] 我的学习方法
  • [AIGC] Redis基础命令集详细介绍