hdu 6045 多校签到题目】的更多相关文章

http://acm.hdu.edu.cn/showproblem.php?pid=6045 题解:遍历一遍,求出两个人答案中相同的个数,用wa表示.然后我从大的数入手,当wa的数都尽可能在两个人答案的相同部分时,另一个人的答案中对的个数最小:当wa的数尽可能在两者答案不同的部分的时候,另一个人的答案对的个数最多. ac代码: #include <cstdio> #include <iostream> #include <queue> using namespace s…
#include <iostream> #include <cstdio> using namespace std; ][]; int f(int pos) { ; ;i<;i++) { ;j++) { if(mp[i][j]=='X') ret++; } } ) ; ) ; ) ; ) ; ) { ][pos+]==; ][pos+]==; ][pos]==; } ][pos]==; ][pos+]==; ; } int main() { int t; scanf(&quo…
/* HDU 6045 - Is Derek lying [ 分析 ] 题意: 有N个问题, 每个问题有A,B,C三种答案,答对加一分,答错不加分 给出甲乙两人的答案,给出两人的分数先x, y,问分数是否正确 分析: 统计甲乙相同的答案数目为 a, 不同的答案数目为 b 若甲的分数为x,则y能取到的最小值为 max(0, x-b),即甲答对的题目尽量在b中 y能取到的最大值为 b-max(0,x-a)+min(x,a) ,即甲答对的题目尽量在a中,答错的尽量在b中 编码时长:32分钟(-1) *…
HDU 动态规划(46道题目)倾情奉献~ [只提供思路与状态转移方程] Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955      背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱  最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢的大洋);          正确的…
NC14583 糖糖别胡说,我真的不是签到题目 题目 题目描述 从前,有 \(n\) 只萌萌的糖糖,他们分成了两组一起玩游戏.他们会排成一排,第 \(i\) 只糖糖会随机得到一个能力值 \(b_i\).从第 \(i\) 秒的时候,第 \(i\) 只糖糖就可以消灭掉所有排在他前面的和他不是同一组的且能力值小于他的糖糖. 为了使游戏更加有趣,糖糖的爸爸,娇姐,会发功 \(m\) 次,第 \(i\) 次发功的时间为 \(c_i\) ,则在第 \(c_i\) 秒结束后 \(b_1,b_2,.....,b…
题目传送:http://acm.hdu.edu.cn/showproblem.php?pid=6045 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 687    Accepted Submission(s): 389 Problem Description Derek and Alfia are good friends.Derek …
题目链接 Problem Description Derek and Alfia are good friends.Derek is Chinese,and Alfia is Austrian.This summer holiday,they both participate in the summer camp of Borussia Dortmund.During the summer camp,there will be fan tests at intervals.The test co…
题目链接 可以暴力找一下规律 比如,假设N=7,两人有5题相同,2题不同,枚举X=0->15时,Y的"Not lying"的取值范围从而找出规律 #include<bits/stdc++.h> using namespace std; typedef long long LL; int T; int N,X,Y; string D,A; int main() { ios::sync_with_stdio(false); cin>>T; while(T--)…
题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=6045 题目: Is Derek lying? Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 104    Accepted Submission(s): 65 Problem Description Derek and Alfia are…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5753 Sample Input Sample Output 6.000000 52.833333 分析:??? #include<stdio.h> #include<string.h> #include<math.h> #include<queue> #include<algorithm> #include<time.h> using n…
A.Character Encoding 简单计数 m个非负数和等于k的方案数为$\binom{m+k-1}{k}$, 但题目还要求每个数小于n, 容斥一下即可 即$ans = \sum\limits_{0\le i \le m}(-1)^i\binom{m}{i}\binom{m+k-1-ni}{k}$ B.Pizza Hub 计算几何 贪心可以知道最优情况三角形一定有一个顶点与矩形顶点重合, 暴力枚举判断一下即可 C. 不会 D.Parentheses Matrix 贪心 假设行列都为偶数,…
题目传送门http://acm.hdu.edu.cn/showproblem.php?pid=5074 $dp[i][j] =$ 表示数列前$i$个数以$j$结尾的最大分数 $dp[i][j] = -1$ 表示不可能取到. 当$b[i] = -1$ 时: $$dp[i][j] = \max(dp[i][j],dp[i-1][k] + scores[k][j])$$ $$(1 <= j <= m,dp[i-1][k] != -1)$$ 当$b[i] != -1$ 时: $$dp[i][j] =…
问题 G: 多少个0 时间限制: 1 Sec  内存限制: 128 MB提交: 192  解决: 40 题目描述 一个n*n的方格,每个格子中间有一个数字是2或者5,现在从方格的左上角走到右下角,每次只能选择向下或者向右移动一格两种移动方式,让所有经过的格子中的数字相乘,求使最后的结果中末尾处0的数字最少. 输入 第一行是一个正整数n(0<n<100). 接下来n行是一个n*n的矩阵. 输出 一个正整数m,表示最后的结果末尾处最少有x个0. 样例输入 4 2 5 2 5 5 2 5 2 2 5…
Problem Description Derek and Alfia are good friends.Derek is Chinese,and Alfia is Austrian.This summer holiday,they both participate in the summer camp of Borussia Dortmund.During the summer camp,there will be fan tests at intervals.The test consist…
快速幂百度百科:快速幂就是快速算底数的n次幂.其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高. HDU - 1061 代码实现如下: import java.util.Scanner; public class Main { public static void main(String []args) { Scanner cin = new Scanner(System.in); int T = cin.nextInt(); for(int i = 0; i < T;…
2018 Multi-University Training Contest 2 6312.Game 博弈,直接官方题解,懒了. 考虑将游戏变成初始时只有2~n,如果先手必胜的话,那么先手第一步按这样取就获胜了:如果后手必胜的话,那 么先手第一步取走1就获胜了.所以全输出Yes就行了. 代码: //1004-6312-博弈-真签到题 #include<iostream> #include<cstdio> #include<cstring> #include<alg…
First One Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 672    Accepted Submission(s): 193 Problem Description soda has an integer array a1,a2,-,an. Let S(i,j) be the sum of ai,ai+1,-,aj. N…
题目: 给定一个字符串a,又给定一系列b字符串,求字符串a的子串不在b中出现的个数. 题解: 先将所有的查询串放入后缀自动机(每次将sam.last=1)(算出所有子串个数) 然后将母串放入后缀自动机然后记录这个子串个数 两个值相减即可 #include <set> #include <map> #include <stack> #include <queue> #include <cmath> #include <ctime> #i…
终于是解决了这个题目了 不过不知道下一次碰到主席树到底做不做的出来,这个东西稍微难一点就不一定能做得出 离散化+扫描线式的建树,所以对于某个坐标二分找到对应的那颗主席树,即搜索出结果即可(因为是扫描线式的建树,找到对应的树之后,就知道该点上面的线段有多少条了) 其他就是普通主席树的操作了 主席树里面维护两个东西,一个就是普通的那种在该区间的节点数目,另外就是权值 #include <iostream> #include <cstdio> #include <cstring&g…
RT 最近不想写博客,累积了一周多的题目,今天趁着周日放假,全部补上吧 dp[i][j]表示前i个数,操作后的值为j的总个数 注意取或不取,有种完全背包的意味.因为数字小于1024,所以异或的结果也绝对不会超过1024,在循环第二维的时候到1024就行了,不要循环多了,反而会错,循环多了 异或值会超,结果爆了数组,产生了奇怪的结果,一开始我就这么莫名其妙的错,还不知道是为什么,就是爆了数组 他也不会提醒你的 #include <iostream> #include <cstdio>…
1.打表找规律,下面是打表程序: #include <iostream> #include <cstdio> #define ll long long #define N 100005 using namespace std; ll n,m,b[N],ans,num; ll sqr(ll x) { return x*x; } void dfs(ll r){ if(r==0){ num++; for(int i=1;i<=m;i++) ans+=sqr(b[i]); retur…
用两个栈模拟,并保存每个点的时间戳.每次合并的时候记录合并时的时间戳mcnt和此时的topa和topb记做ta.tb. 每次pop的时候,如果栈的top的时间戳大于mcnt,则普通地pop,否则就在两个栈ta和tb下面找时间戳最大且还没pop掉的.然后用bj[时间戳]来标记已经pop了. #include <cstdio> #include <cstring> #define N 100005 using namespace std; struct node{ int id,v;…
我还有什么好说,还有什么好说...... 我是SBSBSBSBSBSBSBSBSBSBSBSBBSBSBSBSBSBSBSBSBS........................ 题意 思路什么的都不写了...........我只是为了记录一下我是SBSBSBSBSBBSBSBSBSBSBSBSBSBSBB 以后不要再SBSBSBSBSBSBSBSBSBBSBSBSBSBSBSBSBBSBSBSBBSBSBSBBSBSBSBSBSBBSBSBSBSBBSBSBSBSB /************…
比赛的时候我是用后缀数组的,但是T了. 赛后看了解题报告说,后缀数组貌似是卡你常数的时间,我算了下复杂度O(T * Q * n).这是10 ^ 8,但是考虑到每次询问的时候都要重新构造字符,所以那个n可能是(3 - 4 ) * n,卡的可能就是这个常数.然后就过不了了. 我先上一发我的后缀数组的代码,T的好惨. 因为当时不会后缀自动机. #include<iostream> #include<string> #include<cstring> #include<a…
这题就没什么好说的了.直接枚举2 ^ 16 的状态,用1表示拿这位,0表示不拿,每次判断是否可以这么拿. #include <iostream> #include <cstdio> #include <algorithm> #include <string> #include <cmath> #include <cstring> #include <queue> #include <set> #include…
Problem Description 为自行解决学费,chx勤工俭学收入10000元以1年定期存入银行,年利率为3.7% .利率 按年计算,表示100元存1年的利息为3.7元.实际上有时提前有时推迟取,因此实际利息按天 计算,1年按365天计算,因此Q天的利息是 本金*3.7/100 *Q/365 存了100天后1年定期年利息提高到3.9%.如将存款提前全取出,再存1年定期.那么前面的 100天只能按活期利息1.7%计算. 100天的利息和本金:10000(1+1.7/100*100/365)…
HDU1002:大数加法,PE了N次 import java.util.Scanner; import java.math.*; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int T; T=cin.nextInt(); for(int z=1;z<=T;z++) { if(z!=1) System.out.println(); BigInte…
一.题意 给出N个卡牌,卡牌的正反两面具有两个数字,取值范围为[1,2*n],给出若干个默认正面向上的卡牌,求最小反转多少张卡牌可以使得,每张卡牌朝上的面上都有一个不同的数字,同时满足最小反转次数的反转方法有多少个? Alice and Bob are playing a card game. In this card game, a number is written on each face of the playing card. The rule of the game is descr…
一.题意 给定一个序列,之后给出若干个修改,修改的内容为在原序列的基础上,将某一位元素的值改成给定的值<每次修改相互独立,不保存修改后的结果>.之后询问,在选择第一位元素的情况下,最长递增子序列的长度是多少. 二.题解 考虑不经修改的情况,应当设dp[i]为选取当前位情况下的最长递增子串的长度.则对于这道题,应当认为对于修改a为b,设l_pos为a左边最大的元素的位置,r_pos为a右边大于max(b,r_pos)的元素的位置.则有ans = dp[1] - dp[l_pos] + 1 + d…
一.题意 好人必然说真话,坏人不一定说真话,给定N个人的言论<每人一个发言.不谈及自己>,要求指出有多少个人一定是好人,有多少个人一定是坏人.#define 狼人 坏人#define 村民 好人 The Werewolves" is a popular card game among young people.In the basic game, there are 2 different groups: the werewolves and the villagers.Each p…