看到$\text{V}$就想到了V神。

快快放假....

$\text{Vicetone}$最新单曲$\text{Aftermath}$大家听了嘛……

(真不是学数论之后的意思啊,译为‘后果’,显然是不好的……)


害怕联赛不明不白退役……

不开$\text{C++11}$挂$75$分=。=

所以一定要看编译选项啊……

结果:

我觉得是(OJ上也是):

4
Miemeng 100

03:29:05
75

03:29:05
30

03:29:05
205

03:29:05

事实上……

23 Miemeng 100 0 30 130

好死了……为啥不开$\text{C++11}$

ZJ一下:

题不算难。

T1打表找规律成功!

T2码了一个$30$分暴力,后来为了要$20$分的特殊性质写了一个神奇$\text{C++11}$

然后就0了。

T3暴力还挺稳。

TJ时间:

T1

打表找到规律。

只想说一句话:爆龙龙就去化一波柿子。

化柿子的过程:

给的是这个:

$$\sum \limits_{i=0}^{p} \left \lfloor \frac{iq}{p} \right \rfloor$$

化下:

$$ \Large
\begin{array}{rl}
= & \sum \limits_{i=0}^{p}  \frac{iq-iq\%p }{p} \\
= & \sum \limits_{i=0}^{p} iq-\sum \limits_{i=0}^{p} iq\%p \over p \\
= & \frac{pq(p+1)}{2} - \sum \limits_{i=0}^{p} iq\%p \over p
\end{array}
$$

但是有个$\sum$化不掉,此时就需要更加神奇的化柿子方法。

只考虑:

$$ \sum \limits_{i=0}^{p} iq\%p$$

设$r=gcd(p,q)$

于是可打表得:

$$ \Large
\begin{array}{rl}
   & \sum \limits_{i=0}^{p} iq\%p\\
= & (p-r)\times(p/r)\times r \over 2\\
= & (p-r) \times p \over 2
\end{array}
$$

最后柿子长这样:

$$ \Large
\begin{array}{rl}
   & \frac{pq(p+1)}{2} - \frac{p \times (p-r)}{2} \over p \\
= & \frac{q(p+1)- p+r}{2}
\end{array}
$$

如果不化简会爆龙龙……

#include <iostream>
#include <cstring>
#include <cstdio>
#define LL long long using namespace std; LL gcd(LL a,LL b){
return b==0?a:gcd(b,a%b);
}
int main(){
#ifndef LOCAL
freopen("simplecalc.in" ,"r",stdin);
freopen("simplecalc.out","w",stdout);
#endif
LL T,q,p;
cin>>T;
while(T--){
cin>>p>>q;
LL gcn=gcd(p,q);
cout<<((p+1)*q-(p-gcn))/2<<endl;
}
}

T2

分收益和损失两部分。

收益的我们要尽量花费少,所以按花费排序。

损失的我们可以按照X国的军队做,按损失后剩下的排序。

记住:这两个题的输入不一样!

对于损失部分

$k$指投入,$t$指产出。

X国的军队:输入$k, \Delta$

本题:输入$k,t$

于是有$\Delta=k-t \Rightarrow t=k-\Delta$

所以是一致的,都是按产出从大到小排序从而减少浪费。

而且我们一定要先收益再损失。

写个厉害的比较函数……

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#define LL long long
#define N 1111111 using namespace std; int check(LL a,LL b){
if(a*b<=0)return 0;
if(a<0 && b<0)
return 2;
if(a>0 && b>0)
return 1;
}
struct YB{
LL bef,aft;
friend bool operator < (const YB &a,const YB &b){
LL dela=a.aft-a.bef,
delb=b.aft-b.bef,
cek=check(dela,delb);
if(cek==0)
return dela>delb;
else if(cek==1)
return a.bef<b.bef;
else return a.aft>b.aft;
}
}bs[N];
LL bn; int main(){
#ifndef LOCAL
freopen("reformat.in" ,"r",stdin);
freopen("reformat.out","w",stdout);
#endif
cin.sync_with_stdio(false);
cin>>bn;
for(int i=1;i<=bn;i++)
cin>>bs[i].bef>>bs[i].aft;
sort(bs+1,bs+bn+1);
// for(int i=1;i<=bn;i++)cout<<bs[i].bef<<" "<<bs[i].aft<<endl;
LL lft=0,ans=0;
for(int i=1;i<=bn;i++){
if(lft<bs[i].bef){
ans+=bs[i].bef-lft;
lft=bs[i].aft;
}
else{
lft-=bs[i].bef;
lft+=bs[i].aft;
}
}
cout<<ans<<endl;
}

T3

我太弱了。

19-10-30-Night-V的更多相关文章

  1. 2016.10.30 NOIP模拟赛 day2 PM 整理

    满分:300分 直接全部爆零,真的是很坑啊! 10.30的题目+数据:链接:http://pan.baidu.com/s/1jHXLace 密码:i784 T1: 题目中的难点就是每次折叠的点可能应经 ...

  2. 10.30 正睿停课训练 Day12

    目录 2018.10.30 正睿停课训练 Day12 A 强军战歌(DP 树状数组 容斥) B 当那一天来临(思路) C 假如战争今天爆发(贪心) 考试代码 B C 2018.10.30 正睿停课训练 ...

  3. 第18次Scrum会议(10/30)【欢迎来怼】

    一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/30 17:19~17:38,总计19min.地点:东北师 ...

  4. Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

    作者 | 木苏.进超.冬岛.元毅.心水.衷源 业界要闻 1.云原生编程语言 Pulumi 1.0 pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言.混合云环境.完全可扩展.初期支持 ...

  5. [19/10/13-星期日] Python中的函数

    一.函数 # 第五章 函数 ## 函数简介(function) - 函数也是一个对象 - 对象是内存中专门用来存储数据的一块区域 - 函数可以用来保存一些可执行的代码,并且可以在需要时,对这些语句进行 ...

  6. 程序员的 Ubuntu 19.10 配置与优化指南

    原文地址:程序员的 Ubuntu 19.10 配置与优化指南 0x00 环境 CPU: Intel Core i9-9900k GPU: GeForce RTX 2070 SUPER RAM: DDR ...

  7. gnuWin32-mini-2016.10.30

    2016-10-28 04:48 1,017,856 awk.exe ver 4.1.4 2016-10-29 00:26 77,312 bc.exe ver 1.06 2016-10-30 01:4 ...

  8. 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox

    [源码下载] 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) AutoSug ...

  9. ffmpeg -i 10.wmv -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 C:\fm\074\10\10.m3u8

    ffmpeg -i 10.wmv -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 C:\fm\074\10\1 ...

  10. [Linux] 在 Ubuntu 19.10 上开启 SSH 服务并允许远程登录

    在 Ubuntu 19.10 上安装 SSH,并开启服务 0.检查并确认系统当前是否已安装SSH: sudo ps -e | grep ssh 如果只有 ssh-agent 说明 ssh-server ...

随机推荐

  1. 利用IK分词器,自定义分词规则

    IK分词源码下载地址:https://code.google.com/p/ik-analyzer/downloads/list lucene源码下载地址:http://www.eu.apache.or ...

  2. de4Dot用法 解决 .net程序 reflecter反编译 “索引超出了数组界限”问题

    de4Dot 反混淆工具.当你反编译 .net写的dll 或exe时出现:索引超出了数组界限 问题时 可以去网上下这个工具,通过cmd命令 打开de4dot的exe 空格 dll的全路径. 这样 :D ...

  3. 码云的使用以及pycharm

    码云的使用 下载Git一路next 在码云上新建仓库 建立码云仓库 ​ 右键 git bash hero 依次输入 git config --global user.name "用户名&qu ...

  4. HTML_表单标签

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. 2019-8-27-静默命令行安装-Visual-C++-发行包

    title author date CreateTime categories 静默命令行安装 Visual C++ 发行包 lindexi 2019-8-27 15:39:3 +0800 2019- ...

  6. python的object(转)

    原文章:https://www.cnblogs.com/sesshoumaru/p/6042322.html 1. object类是Python中所有类的基类,如果定义一个类时没有指定继承哪个类,则默 ...

  7. 在VMware中创建一个新的虚拟机 ,安装Linux4.X系统 ,之后在此基础上安装openfiler(网络存储管理实用程序)

    到此为止虚拟机的前期设置准备好了 下面来为此虚拟机添加iso镜像 (这个是在http://www.openfiler.com/community/download  openfiler官网上面下载的) ...

  8. Delphi 窗口置顶的方法

    有几种窗口置顶的方法,简单的有: ShowWindow(窗口句柄,sw_ShowNormal); SetWindowPos(窗口句柄,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOV ...

  9. CentOS 7.2部署NTP服务器实现时间同步

    CentOS 7.2部署NTP服务器实现时间同步 [日期:2017-12-18] 来源:Linux社区  作者:梁明远 [字体:大 中 小]   1. 前言 对于容器编排系统,前段时间主要研究kube ...

  10. 精度试验结果报告Sleep, GetTickCount, timeGetTime, QueryPerformanceCounter

    一段简单的代码来实现精度试验 int main() {       // 初始化代码       ......       int i = 0;       while(i++ < 1000) ...