洛谷 P6851 onu (贪心,模拟)】的更多相关文章

题意:C和D打牌,每张牌有花色和点数,小D刚开始的分数为\(v\),不管输还是赢,只要小D出了牌(花色必须相同),就能得到那张牌点数的分数,若是赢了(点数不小于D的牌),他可以另外加\(c\)分,输了就要扣\(c\)分,现在D知道了C的出牌情况,问他最多能拿多少分,并输出出牌情况. 题解:首先,假如他两的牌花色不同,那么D一定打不出牌,只能白白\(-=c\),否则我们要尽可能的出多的牌,并且要赢得多,贪心策略是,用D的最大的牌去打掉C最大的牌,如果C同种颜色最小的牌都比D最大的大,那么只能随便打…
题意 : 有n块土地,每块有A[i]泥土,现把其改造成B[i]泥土,有3种操作:(1)花费X向任意土地增加1泥土:(2)花费Y向任意土地减少1泥土:(3)花费Z*|i-j|把土地i的1泥土运到土地j.问最小花费是多少. 分析 : 参考了洛谷大神们给出的思路,下面简述一下 简单的讲就是对于每一个点,先将其花费一定的价值使得其数量 变成 B[i] 泥土,但是这个花费不一定是最优的,可以通过后期调整 来达到使得花费更小,调整的方案当然就是对于改变前后缺少和 改变前后增加这两种土地来进行考虑,对于缺少的…
洛谷P1667 数列 题目描述 给定一个长度是n的数列A,我们称一个数列是完美的,当且仅当对于其任意连续子序列的和都是正的.现在你有一个操作可以改变数列,选择一个区间[X,Y]满足\(A_X +A_{X+1} +-+ A_Y<0,1<X<=Y<n,\)令\(S=A_X +A_{X+1} +-+ A_Y\),对于\(A_{X-1}\)和\(A_{Y+1}\)分别加上S,\(A_X\)和\(A_Y\)分别减去S(如果X=Y就减两次).问最少几次这样的操作使得最终数列是完美的. 输入输出…
题目描述 题目传送门 分析 因为小 \(D\) 打出的牌与小 \(C\) 打出的牌花色必须相同,所以我们需要按照花色分类讨论 对于某一种花色 如果小 \(C\) 没有这种花色的牌但是小 \(D\) 有,那么小 \(D\) 的牌一定打不出去,直接 \(continue\) 掉 如果小 \(C\) 有这种花色的牌,那么对于小 \(D\) 来说,他肯定想让他赢的次数尽可能多 这其实就是一个田忌赛马的问题 我们把小 \(C\) 和小 \(D\) 的牌按照点数从大到小排序 对于小 \(D\) 的每一张牌,…
题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. 之后,按如下方式从小到大依次填写每个数K(K=2,3,…,N*N): 1.若(K−1)在第一行但不在最后一列,则将K填在最后一行,(K−1)所在列的右一列: 2.若(K−1)在最后一列但不在第一行,则将K填在第一列,(K−1)所在行的上一行: 3.若(K−1)在第一行最后一列,则将K填在(K−1)…
传送门 惊叹考场dubuffdubuffdubuff. 这题还没有梭哈难啊233. 直接按照题意模拟就行了. 代码: #include<bits/stdc++.h> using namespace std; int T,n,typ,dep[105]; bool f; inline int calc(char s[]){ int len=strlen(s); int ret=0,pos=0; for(;pos!=len;++pos)if(isdigit(s[pos]))break; while(…
from HNOI2003 [题目描述:] 写一个程序来模拟操作系统的进程调度.假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的.其中运行优先级用自然数表示,数字越大,则优先级越高. 如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束.除非在这个过程中,有一个比它优先级高的进程要运行.在这种情况下,这个新的(优先级更高的)进程会占用CPU,而老的只有等待. 如果一个进程到达时,CPU正在处理一个比它优先级高或优先级相同的进程,则这个(新到达的)…
题目描述 给出起点和终点的坐标及接下来T个时刻的风向(东南西北),每次可以选择顺风偏移1个单位或者停在原地.求到达终点的最少时间. 如果无法偏移至终点,输出“-1”. 输入输出格式 输入格式: 第一行两个正整数x1,y1,表示小明所在位置. 第二行两个正整数x2,y2,表示小明想去的位置. 第三行一个整数T,表示T个时刻. 第四至第N+3行,每行一个字符,表示风向,即东南西北的英文单词的首字母. 输出格式: 最少走多少步. 输入输出样例 输入样例#1: 1 1 2 2 5 E N W W N 输…
题目:https://www.luogu.org/problemnew/show/P2831 一开始想 n^3 贪心来着: 先按 x 排个序,那么第一个不就一定要打了么? 在枚举后面某一个,和它形成一条抛物线,选能顺便打掉最多的那个: 然后连样例都过不了... #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #def…
题目:https://www.luogu.org/problemnew/show/P1498 大约一年前该做的题...现在来填一下坑: 然而不怎么会模拟!还滚去看TJ了: 就是翻倍复制: \ 这个符号原来如此神奇!好像有什么功能,所以打两个(\\)才代表这个字符本身. 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace…