首页 > TAG信息列表 > LightOJ

LightOJ - 1364 Expected Cards(概率dp)

题目链接:Expected Cards - LightOJ 1364 - Virtual Judge (ppsucxtt.cn) 题意:Taha 把一副扑克牌(54张)随机洗开,倒扣着放成一摞。然后从上往下依次翻开每张牌,每翻开一张黑桃、红桃、梅花或者方块,就把它放到对应花色的堆里去。Taha想知道得到 A 张黑桃、B 张红桃、C 张梅花、D 张

LightOJ - 1274 Beating the Dataset(概率期望)

题目链接:Beating the Dataset - LightOJ 1274 - Virtual Judge (ppsucxtt.cn) 简化版题意:某人在蒙题,题目答案只有yes和no两种答案,总共有n道题,一开始你知道了n道题中答案为yes的题目数,你每蒙一道题之后,系统会告诉你正确答案是什么。你遵循的蒙题策略如下: (1)第一道题目你一定蒙yes

(LightOJ - 1395)Dangerous Maze (II)(期望DP)

题目链接:A Dangerous Maze (II) - LightOJ 1395 - Virtual Judge (ppsucxtt.cn) 题意:一个迷宫有n扇门,每个门对应一个非零值x,如果x是正的,就会在x分钟后带你逃离迷宫,如果x是负的,就会在(-x)分钟后带你回到原点,你会记录你最后走的k扇门,问你走出迷宫的时间期望。 这道题目是之前做过的

概率专题一(LightOJ - 1027 LightOJ - 1030 LightOJ - 1038 LightOJ - 1079)

题目链接:https://vjudge.ppsucxtt.cn/contest/76505#problem/A 题目:LightOJ - 1027 题目思路: 按照样例解释 3 -3 -6 -9 d=1/33+1/3(6+d)+1/3*(9+d) 化简得d=time(总时间)/(n-cnt)//cnt为负数的个数 代码: #include<iostream> #include<cstring> #include<string.h> #include<

Good or Bad LightOJ - 1051(递推 dp)

题目链接 题意 给我们一个有小写字母和‘ ?’ 组成的字符串,我们可以把 ?替换从任意小写字母,如果不论我们怎么替换,这个字符串都会包含连续的 3 个元音字符或 5 个连续的辅音的话,这个串就是一个 bad 串。如果不论我们怎么替换,这个字符串都不会包含连续的 3 个元音字符或 5 个连续

Agent 47 LightOJ - 1037(状压 DP)

题目链接 题意 一个杀手要去刺杀 n 个敌人,每个敌人都有 hp [i] 的声明值,刚开始的时候这个杀手只有一个攻击为 1 的武器(对这 n 个的攻击都是 1),杀手攻击一次敌人,敌人会减少 当前杀手正在使用的这个武器对这个敌人的攻击力的血量,当杀手杀死一个敌人之后会获取这个敌人的武器,这个

Halloween Costumes LightOJ - 1422

原题链接 考察:区间dp 区间dp的题想重写一遍,tm学了和没学一样,前几天都在睡,根本没刷题TAT 思路:        本道题要想到由局部最优解推导整体最优解,为什么能推到呢?首先f[i][j]表示[i,j]区间内要穿衣服的最少数量,在[i,j]区间内,枚举断点,由更小的最优解得到[i,j]区间的最优

LightOJ 1341

唯一分解定理后的思维题 给我搞成了dfs,但是能过 比较坑的地方是n = i * i这种是不算的 也就是刚好平方根*平方根那种不计入答案,到现在仍然不知道为啥 const int maxn = 1e6 + 10; int prime[maxn], cnt = 0; bool isprime[maxn]; void getprime() { cnt = 0; for (int i = 2;

LightOJ 1356. Prime Independence

链接 http://lightoj.com/volume_showproblem.php?problem=1356 题意 给出 n n n 个数,找出一个最大质数独立子集,如果 a =

Harmonic Number LightOJ - 1234(暴力分段打表 / 欧拉爷爷的O(1))

Harmonic Number LightOJ - 1234 题意: 给你一个调和级数。 f ( n ) = 1 +

LightOJ - 1027 A Dangerous Maze 概率 数学期望

你在起点面对n扇门,每次等概率的选择一扇门,若这扇门是数字,花费Xi直接到达终点否则花费Xi回到起点。 这题很有思考价值。 设期望时间为E。 有E = 1/n * (Xi ) + 1/n * (E + Xi) 最后求解E即可。 ll gcd(ll a, ll b) { return b == 0 ? a : gcd(b, a % b); } int cnt1, cnt2;

[kuangbin带你飞]专题1-23

转载:https://vjudge.net/article/187 最崇拜的大佬之一的kuangbin https://home.cnblogs.com/u/kuangbin/ https://kuangbin.github.io 专题一 简单搜索 POJ 1321 棋盘问题POJ 2251 Dungeon MasterPOJ 3278 Catch That CowPOJ 3279 FliptilePOJ 1426 Find The MultiplePOJ

LightOJ-1220 Mysterious Bacteria (质因数分解)

题目: 输入x,输出使x = b ^ p的最大的p 先质因数分解,res=gcd(c1,c2...cm)就是答案,注意如果n是负数,res只能是奇数,所以先按正数计算,再把结果一直除2到奇数。还要特判1。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<map>

LightOJ 1258 Making Huge Palindromes(马拉车)

题目链接 题目大意:给一个串的右边添加尽量少的字符,使之成为回文串。   如果一个串本身就是回文串的话,不需要添加任何字符它就是可以得到的最小的回文串了(废话)。如果需要添加字符的,这个串的右半部分必需全部都为回文串(可能就一个字符),如果不是,那么光在右边添加字符定是不够的

M - Help Hanzo LightOJ - 1197 (大区间素数筛法)

题解:素数区间问题。注意到a和b的范围是1<<31,所以直接暴力打表肯定不可以。如果一个数是合数,他的两个因子要么是两个sqrt(x),要么就分布在sqrt(x)两端,所以我们可以根据sqrt(n)之前的数来把sqrt(n)之后的素数给筛出来。 首先进行1e6的素数打表。然后对每个l,r,首先找到第一个大于等于l

I - Harmonic Number LightOJ - 1234 (分段打表+暴力)

题目给的时间限制是3s,所以可以直接暴力来做,注意n的取值范围是1e8,如果开一个1e8的数组会RE。分段打表,可以每100个数记录一次,然后对每次询问先找到它所在的区间,然后在暴力往后找。(学到了~~) #include<bits/stdc++.h> using namespace std; const int N=1E6+7; double mp[N]; void i

LightOJ - 1422——(区间DP)

总结 这个题感觉不太好想,每次结果取前两个子区间,B子区间全脱光,所以初始化为0,当时初始化为Inf,一直错,可能出现k+1>j-1情况的,这种是B子区间不存在的情况,为0即可,相当于脱光。算是混过一个区间DP了。 题意: 一个人要去参加n个party,第i场party需要穿a[i]风格的衣服,他为了方便可以

Day11 - B - Dice (III) LightOJ - 1248

设dp_i为已经出现了i面,需要的期望次数,dp_n=0 那么dp_i= i/n*dp_i + (n-i)/n*dp_(i+1) + 1 现在已经i面了,i/n的概率再选择一次i面,(n-i)/n的概率选到新的一面,分别乘其期望次数,并且这次丢过,所以+1 #include<bits/stdc++.h> using namespace std; #define lowbit(x) ((x)&(-x)) type

LightOJ - 1067 Combinations

  题目描述: Given n different objects, you want to take k of them. How many ways to can do it? For example, say there are 4 items; you want to take 2 of them. So, you can do it 6 ways. Take 1, 2 Take 1, 3 Take 1, 4 Take 2, 3 Take 2, 4 Take 3, 4 Input I

LightOJ - 1370 - Bi-shoe and Phi-shoe(欧拉函数)

链接: https://vjudge.net/problem/LightOJ-1370 题意: Bamboo Pole-vault is a massively popular sport in Xzhiland. And Master Phi-shoe is a very popular coach for his success. He needs some bamboos for his students, so he asked his assistant Bi-Shoe to go to the

LightOJ - 1369 - Answering Queries(规律)

链接: https://vjudge.net/problem/LightOJ-1369 题意: The problem you need to solve here is pretty simple. You are give a function f(A, n), where A is an array of integers and n is the number of elements in the array. f(A, n) is defined as follows: long long f(

LightOJ 1251 Stream My Contest(最小树形图)

最小树形图 个人理解就是求指定起点的有向图的最小生成树。 算法的大概步骤如下: 遍历所有边,求得一步到达点v的距离in[v]和前驱pre[v].(若除根节点外有的点不可以被到达则无解) 遍历所有点v,ans+in[v] (相当于从离v最近的点走到了v),看其是否在环上(一直跑pre,能跑到他自己说明在

概率dp lightoj 1342

题意:有N根木棍,每根木棍都有一个权值 其中有若干根可识别,若干根不可识别的,抽到了可识别的棍子,就不放回,抽到了不可识别的,就要放回 ,问所有棍子都至少被抽过一次后权值和的期望 不可识别的棍子,就相当于投掷一个质地均匀的骰子,问每一个面至少出现一次的期望投掷次数; 而这道题用到的是每

lightoj 1408 概率dp

https://blog.csdn.net/moon_sky1999/article/details/98097470  博主在此,牛逼神犇 1 #include<bits/stdc++.h> 2 using namespace std; 3 const double eps = 1e-9; 4 int main(){ 5 int T,k1,k2; 6 double p; 7 scanf("%d",&T); 8 for(int c

Discovering Gold lightoj 1030

一排1到n的格子,每个格子上有黄金 ai ,你最开始在 1 号,每一次投骰子决定到哪一个格子,超出1~n范围则重新投掷,你到了哪个格子就得到哪个格子的金币,问最终在n 能得到金币的期望。 思路:做题经验,期望都是从后推到前,我们从最大开始dp, 1~6  种情况的传递,但是当前面的格子数少于6的时候需