[调试笔记] 晚测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; ][] ...
随机推荐
- leetcode数组典型题目小结
数组与矩阵 数组与矩阵的基本知识: 1.数组:数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式. 首先,数组会利用索引来记录每个元素在数组中的位置,且在大多数 ...
- String与基本类型,字符数组,字节数组的转换
String与基本数据类型 * 基本数据 --->字符串(String) * 1.基本数据类型值 +"" --->最简单 * 2.使用包装类中的toString(参数类 ...
- "指针"和"引用"大对比
相同点: 都能够直接引用对象,并对对象进行操作. 不同点: 指针 引用 指针类型的变量能够保存一个对象的地址 引用是一个对象的别名 可以为空nil,可以不初始化 不可以为空nil,必须初始化 当设计一 ...
- 将dict.define转化成dict.txt
在使用捷通智能灵云外呼系统V6.1时.需要大量使用到模式码,也就是正则表达式.而老版本365还是使用场景文件. 当要将老版本改编成新版本的时候,需要需要将dict.define文件中的一行行的词条用& ...
- 使用SQL SERVER存储过程实现历史数据迁移
今天讲下软件开发中最常见的历史数据迁移方式.在讲迁移之前,先简单介绍下几个基本概念. 1.什么是历史数据迁移? 简单直白地说:就是将一些创建时间比较久而且不常用的历史数据,存储到另一个地方(可以是另一 ...
- 安卓开发 利用百度识图api进行物体识别
前文 之前的随笔中,已经通过相机或相册获取到了我们想要的图片,接下来进行识图api的配置工作.我使用的是百度的api,利用python获取信息,并在MainActivity中进行调用来输出信息. 一. ...
- xml字符串转成数组(php)
1 $str = '<xml> 2 <ToUserName> <![CDATA[gh_fc0a06a20993]]> </ToUserName> 3 & ...
- 【Linux】LNMP1.6 环境报500错误解决方法
vi /usr/local/nginx/conf/fastcgi.conf 进入编辑fastcgi.conf 找到 fastcgi_param PHP_VALUE "open_base ...
- PolarDB PostgreSQL DDL同步原理
概述 在共享存储一写多读的架构下,数据文件实际上只有一份.得益于多版本机制,不同节点的读写实际上并不会冲突.但是有一些数据操作不具有多版本机制,其中比较有代表性的就是文件操作.多版本机制仅限于文件内的 ...
- P4292-[WC2010]重建计划【长链剖分,线段树,0/1分数规划】
正题 题目链接:https://www.luogu.com.cn/problem/P4292 题目大意 给出\(n\)个点的一棵树,然后求长度在\([L,U]\)之间的一条路径的平均权值最大. 解题思 ...