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简介和搭建 ------------------------------------- ...
随机推荐
- 用python面向对象的方法实现欧拉算法和龙格库塔算法
#!/bin/python3 # -*-coding:utf-8 -*- import math import numpy as np #定义一个欧拉算法的类,从而实现不同步长的引用 class Eu ...
- IDEA mybatis-generator 逆向工程
1.在maven工程中的resource中创建generatorConfig.xml 2.配置generatorConfig.xml <?xml version="1.0" ...
- P3749 [六省联考2017]寿司餐厅 最小割
\(\color{#0066ff}{ 题目描述 }\) Kiana 最近喜欢到一家非常美味的寿司餐厅用餐. 每天晚上,这家餐厅都会按顺序提供 \(n\) 种寿司,第 \(i\) 种寿司有一个代号 \( ...
- 直播点赞,上升的动画-- CAKeyFrameAnimation
// // ViewController.m // DMHeartFlyAnimation // // Created by Rick on 16/3/9. // Copyright © 20 ...
- error : Could not load UI satellite dll 'TrackerUI.dll'. Make sure it exists in an LCID subdirectory of 'C:\Program Files (x86)\MSBuild\12.0\bin\'.
原因 VS2013 + QT环境部署好后, 又安装了VS2015\ 解决方案: 在另一台电脑里重装VS2013, 并将 C:\Program Files (x86)\MSBuild\12.0\B ...
- javascript的最重要的特性之一:闭包的解决方案
初始代码: for (var j = 0; j < lnglats.length; j++) { AMap.event.addListener(markers[j], 'mouseover', ...
- C语言中的预处理命令
预处理功能是C语言的重要功能. 问:为什么要预处理,什么是预处理? 答:我们知道高级语言的运行过程是通过编译程序(编译器)把源代码翻译成机器语言,实现运行的.编译程序的工作包含:语法分析.词法分析.代 ...
- Codeforces 852D
数目规模大,尝试转换为判定性问题,那么E就不影响到网络流的复杂度了 SPFA码歪了,WA了好几发气死了 #include<bits/stdc++.h> using namespace st ...
- flex布局基础
一.Flex布局是什么? Flex 即:"弹性布局" 任何一个容器都可以指定为Flex布局 .box{ display:flex; } 行内元素也可以使用Flex布局 .box{ ...
- python 和 C# DES加密
C# code: using System; using System.IO; using System.Security.Cryptography; using System.Text; names ...