美团2018年CodeM大赛-初赛B轮 B 配送 题意 题解 对于每个任务,只要从上个任务的终点出发即可. 时间.地点很少,可以算出每个地点-时间的最小花费. 以题目描述的起点终点起始结束时间建图,很暴力的跑最短路即可. 代码 #include<bits/stdc++.h> using namespace std; #define fi first #define se second #define mp make_pair #define pb push_back #define rep(i…
试题链接:https://www.nowcoder.com/acm/contest/151/C 定义lowbit(x) =x&(-x),即2^(p-1) (其中p为x的二进制表示中,从右向左数第一个1的位置),例如lowbit(10)=2,lowbit(3)=1. 定义函数f(l, r)为(其中0 <= l, r <= n): 输入n,求f(l, r)的最大值. 输入描述: n以二进制形式给出,一行一个二进制01串n,表示l,r的上界.1 <= 字符串n的长度 <= 20,…
链接:https://www.nowcoder.com/acm/contest/138/D来源:牛客网 小胖参加了人生中最重要的比赛——MedoC资格赛.MedoC的资格赛由m轮构成,使用常见的“加权标准分”的规则.每位选手需要参加所有的m轮的比赛.在一轮中,能取得的分数为自己的成绩除掉最高分的成绩.每个选手的总分为每一轮获得的分数乘上这一轮比赛占得比重.如果在某一轮比赛中所有人获得了零分,那么所有选手在这一轮获得的分数都为0分. 比如说,资格赛一共3轮,三轮的权重分别为30%, 30%, 40…
https://www.nowcoder.com/acm/contest/138#question A.下单 水题…… B.可乐 题意:求期望 代码: #include<iostream> #include<string.h> #include<algorithm> #include<stdio.h> #include<queue> using namespace std; typedef long long ll; typedef unsign…
https://ac.nowcoder.com/acm/problem/13249 链接:https://ac.nowcoder.com/acm/problem/13249来源:牛客网 题目描述 一棵n个点的有根树,1号点为根,相邻的两个节点之间的距离为1.树上每个节点i对应一个值k[i].每个点都有一个颜色,初始的时候所有点都是白色的. 你需要通过一系列操作使得最终每个点变成黑色.每次操作需要选择一个节点i,i必须是白色的,然后i到根的链上(包括节点i与根)所有与节点i距离小于k[i]的点都会…
大意: 给定树, 初始每个点全为白色, 点$i$有权值$k_i$, 表示选择$i$后, 所有距离$i$小于$k_i$的祖先(包括i)会变为黑色, 求最少选多少个点能使所有点变为黑色. 链上情况的话, 直接从链头开始做一次线性dp就行了, 但是显然不能拓展到树上情况. 正解是从叶子往上贪心划分, 若当前点$x$为白色, 则从$x$子树内选择一个$y$, 满足$k[y]-dis(x,y)$最大, 这个显然可以用树形dp在O(n)时间求出. #include <iostream> #include…
区间dp一直写的是递归版本的, 竟然超时了, 学了一下非递归的写法. #include <iostream> #include <sstream> #include <algorithm> #include <cstdio> #include <math.h> #include <set> #include <map> #include <queue> #include <string> #incl…
传送门 排列组合入门题. 令X=p1a1p2a2..pkakX=p_1^{a_1}p_2^{a_2}..p_k^{a_k}X=p1a1​​p2a2​​..pkak​​ 那么答案1就等于∑i=1kai\sum_{i=1}^ka_i∑i=1k​ai​ 答案2等于(∑i=1kai)!∏i=1ka[i]!\frac {(\sum_{i=1}^ka_i)!} {\prod_{i=1}^ka[i]!}∏i=1k​a[i]!(∑i=1k​ai​)!​ 边分解质因数边统计就行了. 代码: #include<io…
# -*- coding: utf-8 -*-"""Created on Sat Jun 30 11:49:56 2018 @author: zhen"""#===============测试排列组合==================import itertools# 定义测试数据list_test = [1,2,3,4,5]# 定义结果数据list_result_combinations = [] # ============组合======…
#include<cstdio> #include<cstring> using namespace std; int n,m,jiecheng[11]; double a[12],b[12]; int main() { //freopen("hdu1521.in","r",stdin); int x; jiecheng[0]=1; for(int i=1;i<=10;++i) jiecheng[i]=jiecheng[i-1]*i;…