ZOJ - 3862 Intersection 【贪心】】的更多相关文章

题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3862 思路 因为交换次数达到 n + 10 其实我们可以先将他们都重新排序一下 在xoy 坐标系上 从左下角到右上角排序 然后 第2k 和 第 2k+1 之间连一条线 之后只需要交换顺序 来使得原序列变成现在的序列即可 其实在交换的时候 我们就需要交换 新点和旧点 比如这个样例当中 0 0 1 0 1 2 1 1 3 1 0 4 原来的 连接顺序是 1 3 2…
递增子序列的最小组数.可以直接贪心,扫一遍 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; struct stick{ int h,w; }Sticks[]; bool cmp(stick a,stick b) { return (a.h<b.h)||(a.h==b.h&&(a.w<b.w)…
2014牡丹江现场赛水题 给出波兰式,推断其是否合法.假设不合法有两种操作: 1:任何位置加一个数字或者操作符 2:随意两个位置的元素对调 贪心模拟就可以 先推断数字数是否大于操作符数,若不大于 ans+=sum2-sum1+1:新增加的数字所有放到左端. 然后从左到右遍历一遍.存储到当前位置为止,数字数和sum1.和操作数和sum2 若sum2>=1sum1.优先与队尾的数字对调,若没有则sum1++,表示在最左端加一个数字 #include "stdio.h" #includ…
得之我幸,不得,我命.仅此而已. 学姐说呀,希望下次看到你的时候依然潇洒如故.(笑~) 我就是这么潇洒~哈哈. 感觉大家比我还紧张~ 我很好的.真的 ------------------------------------------------------分割线:"我真的很好啦"------------------------------------------------------ 传送门:http://acm.zju.edu.cn/onlinejudge/showProblem…
动态规划题:dp[i][j]表示有i个Cake,给了Alice j个,先按照b排序,这样的话,能保证每次都能成功给Alice Cake,因为b从大到小排序,所以Alice选了j个之后,Bob最少选了j个,所以i>=2*j, 并且每次Alice选的时候Bob已经选过了.所以当i>=2 * j的时候Alice一定能选. 所以dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - 1] + ary[i].a); dp[i - 1][j]表示Alice不选第i个,dp[i…
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4067 题意: 给出 $n$ 本书(编号 $1 \sim n$),第 $i$ 本书的价格为 $a_i$ 元.我现在手上有若干元钱,我买书的策略为从 $1 \sim n$ 依次买书,若遇到价格不超过我手上钱数的,我就买下,否则就跳过. 现在已知我买了 $m$ 本书,请求出我手上最多有多少元钱. Sample Input 4 4 2 1 2 4 8 4 0 100 9…
a  ZOJ 3860 求和大家不一样的那个数,签到,map水之 #include<cstdio> #include<map> using namespace std; map<int,int> mp; int main(){ int t,n,x; while(~scanf("%d",&t)){ while(t--){ scanf("%d",&n); mp.clear(); while(n--){ scanf(&q…
ZOJ Problem Set - 3829Known Notation(贪心) 题目链接 题目大意:给你一个后缀表达式(仅仅有数字和符号),可是这个后缀表达式的空格不幸丢失,如今给你一个这种后缀表达式,问最少须要多少操作能够把这个表达式变成合法的. 操作: 1.在这个表达式的不论什么位置插入''或者数字(一位数). 2.把这个表达式的不论什么两个位置的字符对换. 解题思路: 一開始想的好复杂,结果还是漏了某种情况,一直过不去:就是卡在了碰到''的时候,数字不够是插入好还是替换好. 事实上仅仅要…
ZOJ - 3963 贪心做一下就好了 反正别用memset #include <iostream> #include <cstdio> #include <sstream> #include <cstring> #include <map> #include <cctype> #include <set> #include <vector> #include <stack> #include &l…
题目传送门 /* 题意:一串字符串,问要最少操作数使得成为合法的后缀表达式 贪心+模拟:数字个数 >= *个数+1 所以若数字少了先补上在前面,然后把不合法的*和最后的数字交换,记录次数 岛娘的代码实在难懂啊~ */ /************************************************ * Author :Running_Time * Created Time :2015-8-16 14:29:49 * File Name :K.cpp **************…