zrt中文题】的更多相关文章

orzzrt.... 题意:给n个点n条边,问能形成几个无向连通图公式:ans=Σ(k=3~n){[n^(n-k)]* (n-1)!/2(n-k)!}推导:ans=Σ(k=3~n)(f(n,k)*h(k)) f(n,k)表示能形成的森林个数,h(k)表示能形成的环的个数 h(k)=n!/2n n!:排列的种类 n!/n:去重(123,231,312) (n!/n)/2:去重(123,321) ∴h(k)=(k-1)!/2 设g(n,k)=f(n,k)*(n-k)! (边有编号时森林的个数) =n…
感谢有道翻译--- Description A工厂生产的产品是用相同高度h的方形包装,尺寸为1* 1,2 * 2,3 * 3,4 * 4,5 * 5,6 6.这些产品总是以与产品高度h相同,尺寸为66的方形包裹寄给客户. 由于这些费用,减少从工厂向客户交付订购产品所需的包裹数量是工厂和客户的利益所在.一个好的程序可以解决根据订单找到交付给定产品所需的最 小包裹数的问题,这样可以节省很多钱.你被要求编制这样一个程序. Input 输入文件由指定订单的几行代码组成.每一行指定一个顺序.订单由六个由一…
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5945     问题描述 输入描述 输出描述 输入样例 输出样例 题意:中文题,不再赘述: 思路:  BC题解如下: 从后往前推,可以得到状态转移方程dp[i]=(dp[k*i],dp[i+l])+1{1<=l<=t} 根据这个转移方程我们需要快速求得min{dp[i+l]}(1<=l<=t) 我们知道这种形式的就是单调队列优化dp的标准形式 维护一个dp[i]从队头到队尾递增的队列 每…
题目链接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1118 题意: 中文题诶~ 思路: 因为机器人只能往下或者右走, 那么方格第一行和第一列肯定全为1, 并且mp[i][j]=mp[i-1][j]+mp[i][j-1], i, j分别表示行数和列数, 因为坐标(i, j)只能由坐标(i-1, j), (i, j-1)到达嘛,然后由加法原理依次地推出所有坐标就好啦~ 代码: #include <bits/std…
NBUT 1105  多连块拼图 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:  Practice  Appoint description:  System Crawler  (Aug 12, 2016 9:32:14 AM) Description 多连块是指由多个等大正方形边与边连接而成的平面连通图形. -- 维基百科 给一个大多连块和小多连块,你的任务是判断大多连块是否可以由两个这样的小多连块拼成.小多连块…
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328 解题报告:中文题题意就不说了.还好数据不大,只有1000,枚举回文串的中心位置,然后向两边扩展,当扩展到 k 大于要求的K的时候停止扩展,不断更新最长的长度跟开始位置最小.我先做了个预处理,先求出了a(S),然后用一个数组保存了a(S)中的字符在原来的字符串中对应的位置在哪,这样便于字符串比较,而且又可以在O(1)时间得到在原来串中的长度跟开始的位置. #include<cstd…
BUAA 724 晴天小猪的神题 题意:中文题,略 题目链接:http://acm.buaa.edu.cn/problem/724/ 思路:对于询问x,y是否在同一区间,可以转换成有没有存在一个区间它的左端点小于等于x,右端点大于等于y 即小于等于x的所有区间的右端点的最大值是否大于y!这就转换成了区间最值问题,可以用线段树动态维护左端点即可 (x,y太大,可先离散化) # include<cstdio> # include<cstring> # include<map>…
http://www.bnuoj.com/bnuoj/problem_show.php?pid=4207 [题意]:中文题,略 [题解]:模拟 [code]: #include <iostream> #include <stdio.h> #include <algorithm> using namespace std; struct Nod { int t,sh; }node[][]; void init() { //XsugarX node[][].t = ; nod…
中文题,题意不多说. 本来感觉很像dp 其实只要从上到下维护单调性就好了 坑是......这个oj......用cin很容易TLE...... //#include <bits/stdc++.h> #include <cstdio> #include <cstdlib> #include <cstring> #include <cctype> #include <climits> #include <iostream> #…
题目链接 题意:中文题 题意不多赘述 值得注意的是n<m 不必考虑n==m的情况 (m是盒子个数, n是每次选取的盒子个数, 不要弄反了!) 这题一看就是同余方程 每次选取n个盒子放球 也就是说每次都增加n个球 最后m个盒子中球的个数相等, 也就是最终状态球的总数为m的倍数 于是 很容易能得到同余方程:sum+x*n=y*m   (sum为出示状态共有sum个球) 其中x为 需要选x次盒子放球 y为 最终每个盒子有y个球 接下来只要解同余方程 若无解, 则无论怎样操作都不能达到这个目的 若有解…