TopCoder Open 2016 R2B

​​瑞芯微RK系列 vs 全志系列芯片:终极选型指南(2025版)​ ​。 阅读详情

300

  这题让计算三条边分别不超过a,b,c的三角形有多少个,数据范围1e9,比赛时写了个O(1e9)的,悲惨爆零。
  正确的做法是利用容斥原理O(1)。如果三条边可以是不超过a,b,c的任何数,答案就是a∗b∗c,但是肯定有些情况是非法的,只需要考虑两边长度大于等于第三边就行了,把非法的减去就是答案。具体的计算过程还是需要细心推一下的,只需要很基本的数学知识就能够推出来(但是我补题的时候还是调了很久)。
  总结一下,当计算某些值比较困难(合法情况),但是反过来比较简单的时候(总数和非法情况),就可以考虑容斥。

#include <bits/stdc++.h>
using namespace std;

#define ll long long

const ll mod = 1000000007;

// *inv%mod 相当于/6 
const ll inv = 166666668;

const ll LARGE = 3e18;

ll calc(ll n){
    ll res = n*(n+1);
    res %= mod;
    res *= (2*n+1);
    res %= mod;
    res *= inv;
    res %= mod;
    return res;
}

ll solve(ll a,ll b,ll c){
    ll res = 0;

    ll MIN = min(a,b);
    ll MAX = max(a,b);
    ll tmp = 0;

    // part 1
    if(c>1){
        ll end = min(MIN,c-1);
        tmp += end*(1+end)/2;
        tmp %= mod;
        tmp *= c;
        tmp -= calc(end);
        tmp %= mod;
        tmp += mod;
        tmp %= mod;
        res += tmp;
        //cout<<"part 1 = "<<tmp<<endl; 
    }
    // part 1 end

    // part 2
    tmp = 0;
    ll l = MIN+2;
    ll r = min(c,MAX+1);
    ll cnt = r-l+1;
    if(cnt>0){
        tmp += ((c-l+1)+(c-r+1))*cnt/2;
        tmp %= mod;
        tmp *= MIN;
        tmp %= mod;
        res += tmp;
        //cout<<"part 2 = "<<tmp<<endl;
    }
    // part 2 end

    // part 3
    if(c>MAX+1){
        tmp = 0;
        ll cnt = min(MIN,c-MAX)-1;

        tmp += (MIN-1+(MIN-cnt))*cnt/2;
        tmp %= mod;
        tmp *= (c-MAX);
        tmp %= mod;
        tmp += calc(cnt);
        tmp %= mod;
        tmp -= MIN*((1+cnt)*cnt/2%mod);
        tmp %= mod;
        if(tmp<0){
            tmp += mod;
        }
        res += tmp;
        //cout<<"part 3 = "<<tmp<<endl;
    }
    // part 3 end

    res %= mod;
    return res;
}


class TriangleTriples{
public:
    int count(ll A, ll B, ll C){
        ll res = A*B;
        res %= mod;
        res *= C;
        res -= (solve(A,B,C) + solve(C,A,B) + solve(B,C,A))%mod;
        res %= mod;
        res += mod;
        res %= mod;
        return res;
    }
};


华为OD机试E卷 -猜字谜(Java & Python& JS & C++ & C ) 小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩家需要猜出谜底库中正确的单词。猜中的要求如下:请你写一个程序帮忙在谜底库中找到正确的谜底。谜面是多个单词,都需要找到对应的谜底,如果找不到的话,返回”not found” 阅读详情

相关推荐

QSPI Flash的原理与QSPI时序的Verilog实现

本节主要是讨论QSPI(Quad SPI,四线SPI总线)的相关内容。我的开发板上有一片型号是W25Q128BV的Quad SPI Flash存储器,本文将以它为例子来说明QSPI操作的一些内容。

Go Forward Forever! 4166

【热门活动】欢迎参加TopCoder Open程序设计竞赛

美团点评雇主品牌组最近的宗旨就是搞事搞事搞事不光和高校勾搭还入局顶尖赛事目的只有一个人才,统统到我们碗里来!就在最近2017TCO中国区公开赛被我们承包啦什么?TCO是啥...

美团技术团队 3163

从问卷到结论:手把手教你用SPSS 28完成一份完整的社科数据分析报告

本文详细介绍了如何使用SPSS 28完成社会科学研究中的数据分析报告,从问卷数据导入、清洗到描述性和推断性统计分析,再到结果呈现与报告撰写。通过实际案例演示,帮助研究者掌握SPSS 28的核心功能,提升数据分析效率与报告质量。

weixin_28717431的博客 249

topcoder_open_algorithm_1A_250

模拟(暴力) 题目司仪

x___song的专栏 630

PCIe学习笔记(一)-------1.3 PCIe数据包(TLP,DLLP,PLP)

1,PCIe的层次结构 PICe设备在硬件电路上可以分为三个层次结构:事务层(Transaction Layer)、数据链路层(Data Link Layer)、物理层(Physical)。每一个层次又可以分为两个部分,分别为处理发送和处理接收的部分。 也可以分为四个层次,将事务层以上的层次称为软件层(Software Layer)。 2,PCIe数据包 前面已经说过PCIe之间是以数据包的形式来传输数据的,协议共定义了3类数据包。与处理层相关的是处理层数据包(TLP),与数据链路层相关的是数据

llxxyy507的博客 2万+

Ubuntu Server 22.04.5系统安装教程

该教程主要是演示在服务器上安装Ubuntu server 22.04系统的详细步骤,主要包含,安装系统前的准备(镜像的下载,启动盘的制作),安装系统时的语言选择,网络设置,切换镜像源(可根据实际需求来配置,本文使用清华镜像源),手动分区,用户设置,ssh服务安装等。以上就是关于Ubuntu Server 22.04系统安装的详细过程。

逆水行舟,不进则退。 7761

Topcoder Open 3B (TCO 3B)

250 在一个无限的区域里面,有n*n(n>=1)的地方是#,别的是'.' 现在给你一个矩阵,问它是否可能是这个区域的一部分 如果可能,返回最小的n 如果不可能返回0 数据范围50*50 500 时限4s 现在有n个人在做实验 每个人每一秒有p/q的概率做完离开 而你,作为他们的老师,需要等他们都做完实验再离开 问你期望什么时候离开 n<=20,1<...

weixin_30273931的博客 169

AI故障预测系统架构设计:5个核心模块+3种主流架构,收藏这篇就够了

深夜11点,某汽车工厂的生产线突然停机——核心机器人的轴承磨损过度导致卡壳。维修人员连夜抢修,直接损失超过50万元,还延误了客户的交货期。传统的“事后维修”或“定期维护”要么代价高昂,要么防不胜防。AI故障预测系统的出现,让“精准维护”成为可能——它能通过传感器数据提前7-30天预警故障,将停机损失降低80%以上。知道要做故障预测,却不知道怎么搭系统——数据怎么采集?特征怎么提取?模型怎么部署?架构怎么选?本文将解决这些问题:我们会拆解AI故障预测系统的5个核心模块,分析3种主流架构。

AIGC应用创新大全的博客 1019

Topcoder Open 3A (TCO 3A)

开场开250,然后直接交了一发,247分还可以 然后开500,发现是一个很复杂的计算,经过30+分钟终于码掉了 最后开1000,发现不会做 && 大家过了一片... challenge阶段,觉得250输入2,11能cha一片结果没cha到人 相反,看到一个人4 11输出Bob直接就cha上去了 当然结果.............-25 而且cha了两个,也就是说-50 ...

weixin_30549657的博客 255

十九、帧间预测编码_5、skip模式和direct模式

帧间预测的几种特殊模式: P_Skip: 即COPY模式,在该模式下无运动矢量残差,无像素预测残差。重建时以MVP作为实际运动矢量,以预测像素块作为重建; B_Skip:同P_Skip类似的是该模式下同样无运动矢量残差,无像素预测残差。重建时,以Direct模式获取双向MV,以预测像素块作为重建; B_Direct:B_Direct模式分为B_Direct_8x8和B_Direct_16x16,分别表示整个宏块和一个子块按照B_Direct模式编码。该模式下,无运动矢量残差,有像素预测残差。重建时,以D.

叮咚的博客 2383

PHP实现获取当地网络时间​(附完整源码)

PHP实现获取当地网络时间​(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 236

Topcoder Open 2014 Algorithm Round 1A

250pt:

zzczzc004的专栏 946

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Topcoder Open 2016 R1A

(1)问题描述: (2)要点:注意12:00这种特殊的时刻即可。 (3)代码: (1)问题描述: (2)要点:二分 (3)代码: (1)问题描述: (2)要点: (3)代码:

zgottingen的专栏 525

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TopCoder 规则入门

基本规则TopCoder的比赛类型很多,最常见的是周赛SRM(Single Round Match),另外还有TCHS SRM(TopCoder High School SRM,题目和SRM一样,仅限中学生参加,参赛者水平较低,据说涨rating很容易),马拉松(Marathon Matchs),还有TCOpen(每年两次的大比赛)之类的比赛。因为大多数人都在做SRM,所以本...

ddj0002的博客 677

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

最负盛名的程序设计竞赛你都知道吗?

最负盛名的程序设计竞赛你都知道吗? 转载自:http://www.ituring.com.cn/article/45075 程序设计竞赛有着各种各样的形式,在此,我们来介绍其中最负盛名的几个。 世界规模的大赛——Google Code Jam(GCJ) 它是Google公司几乎每年都会举办的世界规模的程序设计竞赛,参赛者要在2~3小时内解决大约4道题。一旦从在线(O

沟通改变你我 2088

TC(SRM)和CF入门教程for ACMer[转载]

一、TC基本介绍TC的网址www.topcoder.com/tc,我们一般提到TC的时候是特指其中的Single Round Match(SRM)。SRM的规则总结起来就是一句话:75分钟做完3道难度递增的题。TC的每个用户(handle)都有自己的积分(rating),从0-3000+不等。成绩越好,分数越高。积分与颜色的对应为:白色——未参赛(unrated);灰色——0~899;绿色——90...

weixin_30765475的博客 427

Topcoder Open Match 2017 R1B

topcoder现在好没落。。。三个都是水题 (1)问题描述 (2)要点 (3)代码 (1)问题描述 (2)要点 (3)代码 (1)问题描述 (2)要点 (3)代码

zgottingen的专栏 1519

TopCoder SRM(Arena) 一日游记

呃,其实我是个菜如一只jie

HDU_toraoh 1万+

TopCoder入门教程(转载)

<br />本文根据经典的TC教程完善和改编。<br /> TopCoder:http://www.topcoder.com/<br />基本规则<br />TopCoder的比赛类型很多,最常见的是周赛SRM(Single Round Match),另外还有TCHS SRM(TopCoder High School SRM,题目和SRM一样,仅限中学生参加,参赛者水平较低,据说涨rating很容易),马拉松(Marathon Matchs),还有TCOpen(每年两次的大比赛)之类的比赛。因为大

appleleaf的专栏 1744

Topcoder好题推荐

转自白神:http://hi.baidu.com/%B0%D7%D2%C2%C9%D9%C4%EA2012/blog/item/d2a1a43291acbe3c0a55a9b7.html  Single Round MatchSRM 522 DIV1   1050pt ( 很不错的dp题,先需要思考来分析各种情况 ) 推荐代码: practice room writerSRM 521 DIV1 ...

weixin_33726318的博客 420

UVa1646 Edge Case

题意:n个节点组成一个圈,求pi

A Cube Master 1527

codeforces memsql Start[c]UP 2.0 C. Magic Trick

题意:有m副相同的牌,每副牌有n张。你在这n*m张牌里面c

A Cube Master 1396

UVa10539 Almost Prime Numbers

题意:输入两个整数L,U,统计区间[L,U]中

A Cube Master 1381

2014-2015 ACM-ICPC, Asia Xian Regional Contest F Color

Color         有n朵花排成一列,m种颜色,给这些花染色,使得恰好有k种颜色,且相邻的花颜色不同,问有多少种染色法。         首先必须从m种颜色中选出k种,这部分有C(m,k)种选法。然后第一朵花可以染成k种颜色,后面的所有花都能染成k-1种颜色,也就是k*(k-1)*...*(k-1)。但是这样不能保证整个过程中k种颜色全部用到了。于是需要根据容斥原理做一

A Cube Master 1099

TopCoder SRM 697 div1

题目要求abiimodpi=0a_i^{b_i}modp_i = 0,也就是aia_i的每个素因子个数的bib_i倍都大于等于pip_i相应的因子个数。其实我们可以让aia_i只有一个素因子,比如说2,也就是如果存在解,那么一定存在aia_i均为2的整数幂的解。   设sum=∑i=0n−1aisum=\sum_{i=0}^{n-1}{a_i}   我们得到一组不等式,对于所有的ii有ai×

A Cube Master 1048

UVa 1645 Count

题意:输入n,统计有多少个n个结点的有根树,使得每个深度中所有结点

A Cube Master 931
上一篇: 百度之星2016初赛(第二场) -- Astar Round2B
下一篇: Educational Codeforces Round 13
squee_spoon
博客等级 码龄14年 61粉丝 455原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值