[调试笔记] 晚测5 T1 容易题
众所周知,sbwzx在考试一结束就嚷嚷T1是个sb题。那他为什么调了2小时才调出来呢?快和小编一起看看吧。
Sb题:指除了sbwzx别人都能做出来的题
1.CE:震惊!sbwzx竟然连map都不会用,我们sbwzx实在是太sb了!
2.震惊!这题根本不需要用map,sbwzx仍然在用,还用错了!第二天才想到可以结构体排序
3.震惊!短短十几行代码就有两个明显错误!
void Solve(){
scanf("%d%d%d",&n,&m,&k);
for(int i=1;i<=k;++i) scanf("%d%d",&a[i].x,&a[i].y);
sort(a+1,a+k+1,cmp);
ll tool=1ll*n*(n+1)%mod;//没除2
ll res=1;
for(int i=1;i<=k;++i){
if(a[i].x==a[i-1].x&&a[i].x==a[i-1].x) continue;//这第二个条件比较了个寂寞
if(a[i].x!=a[i-1].x){
ans=ans*res%mod;
res=(tool-a[i].y+mod)%mod;
cnt++;
}else res=(res-a[i].y+mod)%mod;
}
ans=ans*qpow(tool,m-cnt)%mod;
printf("%lld\n",ans);
}
另外,如果这么写,最后一个特殊点是没法乘到的。
为了乘到,要人为加一个限制。
void Solve(){
scanf("%d%d%d",&n,&m,&k);
for(int i=1;i<=k;++i) scanf("%d%d",&a[i].x,&a[i].y);
sort(a+1,a+k+1,cmp);
ll tool=1ll*n*(n+1)/2%mod;
ll res=1;
a[k+1].x=a[k+1].y=0;
for(int i=1;i<=k+1;++i){
if(a[i].x==a[i-1].x&&a[i].y==a[i-1].y) continue;
if(a[i].x!=a[i-1].x){
ans=ans*res%mod;
res=tool;
cnt++;
}
res=(res-a[i].y+mod)%mod;
}
cnt--;
ans=ans*qpow(tool,m-cnt)%mod;
printf("%lld\n",ans);
}
然后就拿到了80分的好成绩。
这是为什么呢?
原来,当\(k==0\)时,cnt是不需要减减的,特判一下,就过了!
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=100000+10,mod=1e9+7;
struct node{
int x,y;
}a[maxn];
int n,m,k,cnt;
ll ans=1;
bool cmp(node A,node B){
return A.x!=B.x ? A.x<B.x : A.y<B.y ;
}
ll qpow(ll x,int b){
ll res=1;
ll base=x;
while(b){
if(b&1) res=res*base%mod;
base=base*base%mod;
b>>=1;
}
return res;
}
void Solve(){
scanf("%d%d%d",&n,&m,&k);
for(int i=1;i<=k;++i) scanf("%d%d",&a[i].x,&a[i].y);
sort(a+1,a+k+1,cmp);
ll tool=1ll*n*(n+1)/2%mod;
ll res=1;
a[k+1].x=a[k+1].y=0;
for(int i=1;i<=k+1;++i){
if(a[i].x==a[i-1].x&&a[i].y==a[i-1].y) continue;
if(a[i].x!=a[i-1].x){
ans=ans*res%mod;
res=tool;
cnt++;
}
res=(res-a[i].y+mod)%mod;
}
if(k!=0) cnt--;
ans=ans*qpow(tool,m-cnt)%mod;
printf("%lld\n",ans);
}
int main(){
freopen("easy.in","r",stdin);
freopen("easy.out","w",stdout);
Solve();
return 0;
}
[调试笔记] 晚测5 T1 容易题的更多相关文章
- ida动态调试笔记
ida动态调试笔记 目标文件:阿里安全挑战赛的第二题 点击打开链接 使用环境:ida6.8点击打开链接,adt bundle点击打开链接 首先打开avd安卓模拟器,界面如下: 在dos下运行adb命令 ...
- 【NOIP2015模拟11.4】JZOJ8月6日提高组T1 刷题计划
[NOIP2015模拟11.4]JZOJ8月6日提高组T1 刷题计划 题目 题解 题意 有\(n\)道题,编号为1~\(n\) 给出\(m\)次操作 每次操作有3种类型 1 \(x\) 表示交了\(A ...
- 上午小测3 T1 括号序列 && luogu P5658 [CSP/S 2019 D1T2] 括号树 题解
前 言: 一直很想写这道括号树..毕竟是在去年折磨了我4个小时的题.... 上午小测3 T1 括号序列 前言: 原来这题是个dp啊...这几天出了好几道dp,我都没看出来,我竟然折磨菜. 考试的时候先 ...
- Tomcat调试笔记
调试笔记 在使用Tomcat过程中经常碰到问题,导致tomcat启动失败.如下↓ 由于报错太过笼统,我根本无法找出错误.后来我切换到Console视图下,看到了如下错误信息. 根据报错信息,错误原因是 ...
- JavaScript特效(调试笔记)
JavaScript特效 一.在网页上显示当前的时间日期,例如:“2016年3月26日 星期六”. js源代码: function getTime() { var today = new Date() ...
- USB wifi调试笔记
本文以realtek 8192CU WiFi模块为例,介绍USB wifi在Jelly Bean 4.1的调试笔记. 1.WIFI打不开现象概述 WiFi打不开是指您在UI的settings下选中Wi ...
- VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)
------------VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)------------- WIN10已上线,随之而来的是VS2015:微软在 "WDK760 ...
- modbus-poll和modbus-slave工具的学习使用——modbus协议功能码3的解析(及欧姆龙温控器调试笔记)
最近的项目中使用到了欧姆龙的温控器,里面有很多的通信方式,我们使用的常见的modbus——RTU方式,其他方式我们不使用,其中通信手册上面有很多通信的实例,欧姆龙modbus还区分4字节模式和2字节模 ...
- GDB调试笔记
参考资料:GDB调试精粹及使用实例 # 调试实例 #include <iostream> #include <cstring> using namespace std; ][] ...
随机推荐
- 10分钟学会VS NuGet包私有化部署
前言 我们之前实现了打包发布NuGet,但是发布后的引用是公有的,谁都可以访问,显然这种方式是不可取的. 命令版本:10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(ne ...
- JDK 1.7 正式发布,Oracle 官宣免费提供!“新版任你发,我用JDK 8”或成历史?
Oracle公司JDK 17正式发布,JDK 17属于长期支持(LTS)版本,也就是获得8年的技术支持,自2021年9月至2029年9月截止. JDK 17版本更新了很多比较实用的新特性,关于此版本的 ...
- nginx环境下提交表单一直301
之前网站一直正常的,现在提交表单一直301 原因: 前几天把网站http升为https协议,需要去掉连接 // 前内容 把 <form method ="post" acti ...
- mysql 选取操作日志(mysql-bin.0000恢复数据)
my.ini 配置log-bin=mysql-bin 启用日志 用 mysql-bin.0000 mysqlbinlog -d keyboard ../data/mysql-bin.000024 – ...
- echsop设置伪静态
1.后台商店设置-基本设置-URL重写开启 2.修改httpd.conf文件 AllowOverride None 改为 AllowOverride AllLoadModule rewrite_mod ...
- ecshop调用商品原图的方法
一.在列表页可以用{$goods.goods_thumb} {$goods.goods_img}调用缩略图和商品图片 就是没有调用原图的下面是修改category.php 总sql语句处替换成下面 ...
- appium和selenium不同与相同之处
原文来自: https://www.cnblogs.com/zhengshuheng/p/6370398.html selenium是web端的自动化,appium是app端的自动化,它继承了webd ...
- 我在学习Blazor当中踩的巨坑!Blazor WebAssembly调试
最近嘛,看看Blazor已经蛮成熟的.顺便想在自家的框架里使用这个东西,毕竟我还是很念旧的,而且Blazor的技术栈也不麻烦.然后呢,在调试这一关我可是踩了大坑. 我的VS是2019,很早以前装的.然 ...
- Java两种基础结构
顺序结构 JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行 顺序结构是最简单的算法结构 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的 ...
- 纯代码实现wordpress图片本地化【5.2.2版本可用】
最近用wordpress做了个网站,想复制些新闻过来用,但图片是别人的,就想怎么本地化,在网找到了方法,那就保存一下方法. 复制下面的代码,然后粘贴到你当前WordPress主题的模版函数(funct ...