J - A Bug's Life - poj2492】的更多相关文章

这个题目很有意思啊,有一些bug生物(肯定是程序员养的),有人观察他们的生活习惯,观察他们之间是否有同性恋关系,比如ab发生关系,bc发生关系,ab发生关系...产生了同性恋了,你需要判断一下这种关系是不是存在. 分析,这个跟食物链没什么区别,而且条件还少了不少,规定同性关系是0, 异性关系是1 ////////////////////////////////////////////////////////////////////// #include <stdio.h> #include&l…
Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and that they only interact with bugs of the opposite gender. In his experiment, individual bugs and their in…
Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and th…
It's not a Bug, It's a Feature! Time Limit: 5000MS   Memory Limit: 30000K Total Submissions: 1231   Accepted: 466 Description It is a curious fact that consumers buying a new software product generally do not expect the software to be bug-free. Can y…
http://poj.org/problem?id=2096 题意:s个系统n种bug,每天找出一个bug,种类的概率是1/n,系统的概率是1/s.问:每个系统至少找出一个bug:每种类的bug都被找出.的期望天数(0<n, s<=1000) #include <cstdio> using namespace std; double d[1005][1005]; int n, s; double D; int main() { scanf("%d%d", &am…
概率DP求期望大多数都是全期望公式的运用.主要思考状态空间的划分以及状态事件发生的概率.问题可以分为无环和有环两类.无环一类多数比较简单,可以通过迭代或者记忆化搜索完成.有环一类略复杂,可以通过假设方程化简公式解决或者高斯消元求解. POJ 2096 Collecting Bugs http://poj.org/problem?id=2096 概率DP入门题,注意理解和状态的转移过程才能建立方程. dp[i][j]表示已经找到i种系统的j种bug时达到目标状态时的期望,此时找到一个bug,可能仍…
概率DP/数学期望 kuangbin总结中的第二题 大概题意:有n个子系统,s种bug,每次找出一个bug,这个bug属于第 i 个子系统的概率为1/n,是第 j 种bug的概率是1/s,问在每个子系统中至少找出一个bug,且每种bug都找到过,总共需要找到bug的总数的期望值(我擦我这破烂语文水平……还不如不翻译) 题解:http://www.cnblogs.com/kuangbin/archive/2012/10/02/2710621.html 额之前理解的有些偏差……重新梳理一下: 现在已…
A Game题意:A,B各自拥有两堆石子,数目分别为n1, n2,每次至少取1个,最多分别取k1,k2个, A先取,最后谁会赢. 分析:显然每次取一个是最优的,n1 > n2时,先手赢. 代码: #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define esp 1e-14 #define lson l, m, rt<<1 #define rson m+1, r, rt<<1…
hihocoder 1084 : http://hihocoder.com/problemset/problem/1084 北京邀请赛 Just  String http://www.bnuoj.com/v3/problem_show.php?pid=34990 两道题同样的做法,题目基本内容是找到A的字串中和B串长度一样,且不同的字符个数不超过k个的置. 以hihocoder 1084为例, 是求有多少个A的字串的,与B串长度一样,且不同的字符个数不超过k. 分析:预处理hash,然后对每个字…
重点回忆下我觉得比较有意义的题目吧.水题就只贴代码了. Distinct Characters Subsequence 水. 代码: #include <cstdio> #include <iostream> #include <map> #include <cstring> #include <cstdlib> #include <cmath> #include <algorithm> #include <vect…
http://codeforces.com/problemset/problem/543/A 题目大意:n个人,一共要写m行程序,每个程序员每行出现的bug数为ai,要求整个程序出现的bug数不超过b的方案数. 思路:f[i][j]代表第m行,j个bug的方案数,n^3转移 #include<cstdio> #include<cmath> #include<iostream> #include<algorithm> #include<cstring&g…
A了一整天~~~终于搞掉了. 真是血都A出来了. 题目意思很清楚,肯定是状压DP. 我们可以联系一下POJ 1185  炮兵阵地,经典的状压DP. 两道题的区别就在于,这道题的攻击是可以被X挡住的,而且攻击的范围不同. 这是这道题的攻击范围. 但是这个攻击范围是会被X挡住的. 所以得在1185上加以改进. 分析: POJ 1185,因为可以隔着障碍物打,所以他每行的状态是一样的,但是这题由于攻击会被挡住,所以每行的状态是不一样的,所以我们预处理的时候就要处理出每一行的状态数,分别保存,然后存下每…
Collecting Bugs Time Limit: 10000MS   Memory Limit: 64000K Total Submissions: 2678   Accepted: 1302 Case Time Limit: 2000MS   Special Judge Description Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material s…
思路:通过前后两种状态建立一条边,利用Dijsktra就可以做了. 注意利用二进制优化. AC代码 #include <cstdio> #include <cmath> #include <algorithm> #include <cstring> #include <utility> #include <string> #include <iostream> #include <map> #include &…
第一次出省去打邀请赛,赛前给队友定的目标是打个铜,这样奖金就可以报销我们的伙食费了 5.12 热身赛,ak的心态冲进去,爆零逃出来 (为什么热身赛没有签到题啊),出来一度以为这场比赛要打铁,毕竟老远过来打个铁一定体验极差 5.13 正式赛,比赛前悄咪咪打完了头文件才被志愿者发现提醒了一下,嘿嘿嘿. 开始的时候和队友的策略是一个从头开始看,一个从后开始看,先找签到题,我负责挑看得懂的题看(然而并没有). A题的题意真的很难懂,两个队友读出两种意思,然而都是错的,提供了两发WA之后我义正言辞的说我的…
Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material stuff, he collects software bugs. When Ivan gets a new program, he classifies all possible bugs into n categories. Each day he discovers exactly one bug…
Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome partitioning of s. For example, given s = "aab",Return [    ["aa","b"],    ["a","a",…
题目链接: http://codeforces.com/problemset/problem/535/D D. Tavas and Malekas time limit per test2 secondsmemory limit per test256 megabytes 问题描述 Tavas is a strange creature. Usually "zzz" comes out of people's mouth while sleeping, but string s of…
f(i,j)表示打了i行出现j个bug的方案数. 还是跟背包有点像嘛. #include<cstdio> using namespace std; int n,m,b,mod,a[510],f[510][510]; int main(){ scanf("%d%d%d%d",&n,&m,&b,&mod); for(int i=1;i<=n;++i){ scanf("%d",&a[i]); } f[0][0]=1…
Collecting Bugs Time Limit: 10000MS   Memory Limit: 64000K Total Submissions: 3523   Accepted: 1740 Case Time Limit: 2000MS   Special Judge Description Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material s…
题目链接:http://poj.org/problem?id=2096 题意: 有一个程序猿,他每天都会发现一个bug. bug共有n个种类.属于某一个种类的概率为1/n. 有s个子系统,每个bug属于一个系统.属于某一个系统的概率为1/s. 问你发现的bug能够覆盖到n个种类和s个系统的期望天数. 题解: 期望dp转移的套路: 倒着推. 利用性质:期望 = ∑ (P(子期望)*φ(子期望)) 状态表示: dp[i][j] = expectation i:覆盖到i个种类 j:覆盖到j个系统 dp…
我先求出交叉的gird,然后再一行一行求得.感觉还可以吧.思路比较清晰,开始想的是数是第几行然后从每一行的前后开始控制,好麻烦的感觉,我就先求出来了框架再做就好做多啦!后来PE,突然发现我特殊处理n=1的时候一下子输出了2个\n,改掉以后就好了. #include <stdio.h> #include <math.h> #include <string.h> #define bug puts("bug!bug!bug!!!!!"); ][]; int…
程序员写bug的故事23333 题意:n个程序员,一共写m行程序,最多产生b个bug,问方案数 思路:f[i][j]表示写了i行,产生了j个bug的方案数,因为每个人都是可以独立的,所以i循环到n都做一遍 f[i][j] += f[i-1][j-a[i]] 在前一行  i 的 a[i] 个bug还没有写上去的情况数 #include <iostream> #include <cstdio> #include <algorithm> using namespace std…
并查集的介绍可以看下https://www.cnblogs.com/jkzr/p/10290488.html A - Wireless Network POJ - 2236 An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wireless network with the lap computers, but an unexpected afters…
Collecting Bugs Time Limit: 10000MS   Memory Limit: 64000K Total Submissions: 6237   Accepted: 3065 Case Time Limit: 2000MS   Special Judge Description Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material s…
http://codeforces.com/problemset/problem/544/C 完全背包 dp[i][j]表示第i行有j个bug #include<stdio.h> #include<string.h> #define N 550 int dp[N][N], a[N]; int main() { int n, m, b, MOD; while(scanf("%d%d%d%d", &n, &m, &b, &MOD)!=…
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 二维费用背包. f[i][j][k] 前i个人,写了j行,bug不超过k的方案数. 可以把每个人看成是一个物品. 它可以无限拿.然后花费为 1行代码和a[i]个bug (拿几个第i个人就相当于v[i]等于几. 就变成一个二维的完全背包了 直接用二维费用背包的方案数求法求得就好 两维的写法比三维的写法简单..直接顺序更新就可以了 (顺序更新) [代码] #include <bits/stdc++.h> using namespa…
网络上资源很多不全面,自己在开发的时候走了不少弯路,在这里整理了最全面的google全套开发,COM交互,web端交互.封装好了各种模块功能. 直接就可以调用. 第一种方式:调用COMAPI实现调用google地球 1.安装googleearth客户端.传送门:https://pan.baidu.com/s/1xi3fwCIy3Jt6t5XbypqpCg 提取码:0l7u 2.添加引用using EARTHLib;如果找不到此dll,到googleearth的安装目录下寻找后添加到引用即可. 3…
题目大意: 假定有n个潜在的bug和m个补丁,每个补丁用长为n的字符串表示.首先输入bug数目以及补丁数目.然后就是对m 个补丁的描述,共有m行.每行首先是一个整数,表明打该补丁所需要的时间.然后是两个字符串,地一个字符串 是对软件的描述,只有软件处于该状态下才能打该补丁该字符串的每一个位置代表bug状态(-代表该位置没bug,+代 表该位置有bug,0表示该位置无论有没有bug都可打补丁).然后第二个字符串是对打上补丁后软件状态的描述 -代表该位置上的bug已经被修复,+表示该位置又引入了一个…
脚本调用C++相对比较容易,使用ATL组件只需要抛双接口即可,但在exe里如何做到呢?本文实现了在exe里脚本和C++的相互调用.在EXE里也需要对外抛送一个继承自IDispatch的接口.并需要重载它的所有接口.由于水平有限,所以难免有错. // 头文件 static const GUID IID_CExternal = { 0x52fee9af, 0xb3b3, 0x4756, { 0x80, 0x10, 0xfe, 0xa8, 0xf9, 0xfd, 0xd3, 0x3f } }; cla…