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简介和搭建 ------------------------------------- ...
随机推荐
- bsdasm
bsdasm 来源 http://www.int80h.org/bsdasm/ Preface by G. Adam StanislavWhiz Kid Technomagic Assembly la ...
- Object Detection: Face Detection using Haar Cascades
目录 利用基于Haar特征的级联分类器实现人脸检测:官方教程 目标 学习基于Haar特征的级联分类器(Cascade Callifiers)实现人脸检测: 扩展到人眼检测: 基础知识 Paul V ...
- findControl 可以获取前台页面的控件
findControl 可以获取前台页面的控件
- 配置IIS使用Python 与常见问题解决
打开IIS管理器 选择功能视图,然后选择ISAPI和CGI限制 打开后,在右侧操作,点击添加,会出现下图所示 按图中提示填写相应部分,在选择路径时,默认可能是dll文件,改成全部文件即可,然后再选择p ...
- T-Sql操作Xml数据(转)
T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...
- C++基础学习5:强制类型转换
在C++语言中新增了四个关键字static_cast.const_cast.reinterpret_cast和dynamic_cast.这四个关键字都是用于强制类型转换的.我们逐一来介绍这四个关键字. ...
- 14.Diameter of Binary Tree(二叉树的直径)
Level: Easy 题目描述: Given a binary tree, you need to compute the length of the diameter of the tree. ...
- linux下虚拟主机配置
<VirtualHost *:80>ServerAdmin admin@localhostServerName www.baidu.org DocumentRoot "/d ...
- Qt 学习之路 2(23):自定义事件
Qt 学习之路 2(23):自定义事件 豆子 2012年10月23日 Qt 学习之路 2 21条评论 尽管 Qt 已经提供了很多事件,但对于更加千变万化的需求来说,有限的事件都是不够的.例如, ...
- matplotlib学习笔记(三)
柱状图 柱状图用其每根柱子的长度表示值的大小,它们通常用来比较两组或多组值.下面的程序从文件中读入中国人口的年龄分布数据,并使用柱状图比较男性和女性的年龄分布. import numpy as np ...