D5上
好慌啊 0分??
T1
感觉是组合数,不知道对不对。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
#include<ctime>
using namespace std;
const int P=1e9+;
long long n,k,ans=;
int main()
{
freopen("cube.in","r",stdin);
freopen("cube.out","w",stdout);
scanf("%lld%lld",&n,&k);
int x;
for(int i=;i<=n;i++) scanf("%d",&x);
for(int i=k+;i<=n;i++)
ans=(ans*i)%P;
for(int i=;i<=(n-k);i++)
ans=(ans*i)%P;
cout<<ans<<'\n';
return ;
}
first
完了组合数用错了,应该用逆元的。
思路:
其实就是说,在n个位置中,找出K个与原来不同的(1或0两种)。
组合数公式n! / k!(n-k)! 因为数比较大,如果先取模再除 是不对的。
用乘法逆元,/x %p等价于 *x^P-2 .
也可以分解质因数,不知道哪根筋抽了,这都没想到。
T2
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
using namespace std;
const int N=1e5+;
int n,m,q;
struct node{
int x,y;
int z;
}a[N],ask[N];
int f[N],tot;
int find(int x)
{
while(x!=f[x])
x=f[x]=f[f[x]];
return x;
}
bool cmp(node u,node v)
{ return u.z>v.z;}
bool fan(node u,node v)
{ return u.y<v.y;}
int main()
{
freopen("warehouse.in","r",stdin);
freopen("warehouse.out","w",stdout);
scanf("%d%d%d",&n,&m,&q);
for(int i=;i<=m;i++)
scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z);
for(int i=;i<=q;i++)
scanf("%d",&ask[i].z),ask[i].y=i;
sort(a+,a++n,cmp);sort(ask+,ask++q,cmp);
for(int i=;i<=n;i++) f[i]=i; tot=n;int ed=,i=,f1,f2;
for(i=;i<=q;i++)
{
while(a[ed+].z>=ask[i].z)
{
ed++;
f1=find(a[ed].x);f2=find(a[ed].y);
if(f1!=f2)
{
f[f1]=f2;tot--;
}
}
ask[i].x=tot;
}
sort(ask+,ask+q+,fan);
for(int i=;i<=q;i++)
printf("%d\n",ask[i].x);
return ;
}
first
应该写对了啊,0分。。。
和昨天的题差不多,建一个最大生成树,在合并的过程中更新答案。
T3
不会去重,甚至计数都不会。
这道题的确不简单,因为一个字符串可能会得到多次,
那我们就就想办法让这个字符串只得到一次,怎么操作那?
维护两个数组a[i][j](表示长度为i的前缀,后面再加j字符就会重复的字符串数量)
c[i][j](表示以j为开头,长度为i的字符串数量)
(因为我们只需要考虑,字符串长度,和是否重复)
最后把长度和为L的前缀和后缀字符根据乘法原理组合起来就是答案了。
但是!这样做有漏洞!!
原因是对于本来就是一个单词一部分的字符如coo,它能由co 前缀和 o后缀 组成,但我们却没有判定出co这个前缀。
但是coo这个串,整个串都是合法的。
D5上的更多相关文章
- es6学习笔记一数组(上)
最近公司没什么事情,我们老大让我看看es6,小颖就练习了下数组的各个方法,今天先给大家分享一部分.嘻嘻,希望对大家有所帮助. every方法: 概述: every() 方法测试数组的所有元素是否 ...
- 一个高级的J2E工程师需要面对MySQL要有那些基本功夫呢<上>
1. MySQL的架构介绍1.1 MySQL简介: MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不 ...
- Excel2013 基本用法(上)
自动填充 对于数字填充 Excel对于处理数据非常方便,比如我们需要输入一个班级的学号,就可以只输入2个学号然后快捷填充就可以完成一个班的学号输入(如下图). 快捷填充,就是将鼠标移动到选中的单元格边 ...
- Arduino下LCD1602综合探究(上)——1602的两种驱动方式,如何使LCD的控制编程变得更简单
一.前言: LCD ( Liquid Crystal Display 的简称)液晶显示器,已经逐渐替代CRT成为主流的显示设备之一,因此也成为了单片机发烧友绕不过的话题之一:而LCD1602更是很多单 ...
- Selenium2学习-039-WebUI自动化实战实例-文件上传下载
通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a ...
- Replication的犄角旮旯(六)-- 一个DDL引发的血案(上)(如何近似估算DDL操作进度)
<Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Repli ...
- PHP上传实现进度条
Web上传文件的三种解决方案
- 基于FPGA的电压表与串口通信(上)
实验原理 该实验主要为利用TLC549采集模拟信号,然后将模拟信号的数字量通过串口发送到PC上上位机进行显示,使用到的TLC549驱动模块在进阶实验已经使用到了,串口模块在基础实验也已经使用到了,本实 ...
- 源代码管理工具(上)-SVN基本使用
------------------------------------------------------SVN简介和搭建 ------------------------------------- ...
随机推荐
- 机器学习基石笔记:11 Linear Models for Classification、LC vs LinReg vs LogReg、OVA、OVO
原文地址:https://www.jianshu.com/p/6f86290e70f9 一.二元分类的线性模型 线性回归后的参数值常用于PLA/PA/Logistic Regression的参数初始化 ...
- console的使用
一.显示信息的命令 console.log("normal"); // 用于输出普通信息 console.info("information"); // 用于输 ...
- ASP.NET-GridView之表头设计
我们 见过许多网页呈现表格的 时候,表头的形式多种多样.下面来看看,怎么制定多样的表头吧. 效果显示: 需要在后台写一个方法,网页一加载在前端写个事件调用这个方法. DEMO 前端 <span ...
- loj #2006. 「SCOI2015」小凸玩矩阵
#2006. 「SCOI2015」小凸玩矩阵 题目描述 小凸和小方是好朋友,小方给小凸一个 N×M N \times MN×M(N≤M N \leq MN≤M)的矩阵 A AA,要求小凸从其中选出 ...
- LCA 【bzoj 4281】 [ONTAK2015]Związek Harcerstwa Bajtockiego
[bzoj 4281] [ONTAK2015]Związek Harcerstwa Bajtockiego Description 给定一棵有n个点的无根树,相邻的点之间的距离为1,一开始你位于m点. ...
- Leetcode 520. Detect Capital 发现大写词 (字符串)
Leetcode 520. Detect Capital 发现大写词 (字符串) 题目描述 已知一个单词,你需要给出它是否为"大写词" 我们定义的"大写词"有下 ...
- 关于thinkphp5中数据库分组查询group
在使用tp5的group进行分组查询总是报错,以主键进行分组是不报错,但没有任何意义 与聚合函数一起使用的不会报错,如官方文档给出的代码 Db::table('think_user') ->fi ...
- ERROR (UnicodeEncodeError): 'ascii' codec can't encode character u'\uff08' in position 9: ordinal not in range(128)
环境win10+anaconda2 在安装labelme时遇到了这个问题,其实跟labelme没啥关系,主要是python2读取中文路径时报错,因为默认编码是ASCII,不认识中文,看到有一个一次性解 ...
- pre 标签 防止 其撑开 div...
pre 里面 的内容如果不换行,会导致 div 横向 出现 滚动条...加入下列 css可解决! pre{ white-space: pre-wrap; word-wrap: break-word; ...
- ORA-01950:no privileges on tablespace 'USERS'
ORA-01950:no privileges on tablespace 'USERS' SQL>create user myuser identitied by password; SQL& ...