首页 > TAG信息列表 > ans2
题解 CF1712D Empty Graph
CF1712D 洛谷的 CF 的提交无了,所以可能没人来看了,但是在题解区是清一色的二分,而唯一一篇贪心题解的讨论还略显复杂的情况下,我还是希望提供一种比较简洁的贪心题解。 在复杂度允许的情况下,尽可能把东西丢给机子去做。 ——秋语橙 方便起见,以下记 \(MD=10^9\). 贪心做法需要一些结P4343 [SHOI2015]自动刷题机题解
题型考察 根据数据范围可以大致确定是 \(\text{O(nlogn)}\) 或 \(O(n)\) 的算法才可以通过本题。考虑二分,可以发现问题具有单调性:设 \(check(x)\) 为长度为 \(x\) 时切的题数,则对于 \(x < y\) 而言,\(check(x) \leq check(y)\)。 思路 本题要求的是最大值和最小值分开讨论。 对于最leetcode每日一题-1305. 两棵二叉搜索树中的所有元素
简单题:中序+归并 class Solution { public: vector<int> ans1,ans2,ans3; void dfs(TreeNode* root,vector<int> &ans){ if(root==nullptr) return ; dfs(root->left,ans); ans.emplace_back(root->val); dfs(root-&CF888E Maximum Subsequence 题解
首先看完本题,最直接的想法就是——爆搜! 但是, \(2^{35}\) 让我们望而却步,因此我们需要考虑一定的优化。 而本题的优化是十分经典的 折半搜索 (Meet in middle) 算法。 折半搜索的主要思路就是:将序列裂成两半搜索,然后合并答案。 对于这道题,我们首先对 \([1,\dfrac{n}{2}]\) 做一次暴力task5.c
#include<stdio.h> int main() { char ans1,ans2; printf("第3章认真学完一遍了没?(输入y或Y表示认真学完一边了,输入n或N表示没有):"); ans1 = getchar(); getchar(); printf("\n动手敲代码实践了没?(输入y或Y表示敲了,输入n或N表示木有敲:");task.5 c
#include <stdio.h> int main() { char ans1, ans2; printf("第3章认真学完一遍了没? (输入y或Y表示认真学完一遍了,输入n或N表示没有) :"); ans1 = getchar(); getchar(); printf("\n动手敲代码实践了没? (输入y或Y表示敲了,输入n或N表示木有敲) : "); a实验5
#include <stdio.h> int main() { char ans1, ans2; printf("第三章认真学完一遍了没?(输入Y或y表示认真学完一遍了,输入n或N表示没有):"); ans1 = getchar(); getchar(); printf("\n手动敲代码实践了没?(输入y或Y表示敲了,输入n或N表示木有敲):"); ans2 = getchar(); if(ans1=='y将程序task5.c补充完整。使得程序实现如下功能: 只有当用户两次回答都是小写y或大写Y时,才会打印输出:罗马不是一天建成的:) 否则,会打印输出:罗马不是一天毁灭的。。。
#include <stdio.h> int main() { char ans1, ans2; printf("第3章认真学完一遍了没? (输入y或Y表示认真学完一遍了,输入n或N表示没有) :"); ans1 = getchar(); // 从键盘输入一个字符,赋值给ans1 getchar(); // 思考这里为什么要加这一行。试着去掉这一行,看看对运行有没有影响。 pB. Repetitions Decoding 题解(思维+构造)
题目链接 题目思路 如果所有元素出现都是偶数次,那么就有办法,否则就没有办法 这个题目感觉构造方法不是很难想 就是每次假设出现了 \(A B CA\) 那么每次消去两个\(A\)然后中间的字符翻转 如何写很巧妙,我是参考一位大佬的代码 采用从后往前遍历,因为如果从前往后很麻烦 具体实现看代洛谷AT3867 [AGC021A] Digit Sum 2
传送门 题意翻译 给出N,求小于等于N的正整数中用十进制表示各数位数字之和的最大值。 思路: 分两种情况: 1.本身所有数都加起来 2.把第1位-1,剩下来的全部变成9 代码也不难: #include<bits/stdc++.h> using namespace std; char a[20]; int ans1,ans2;//ans1为第一种情况,ans2为第二两道题目
咕咕咕!咕了很久的博客终于更新了! CF720A Closing ceremony 题目大意 N×M个座位有N×M个人,一开始有 k人在(0,0)点上,l个人在(0,m+1)点上,问是否存在一种方案,使得每个人分配点与起始点的曼哈顿距离小于体力值,且每个人都有位置坐。 思路 贪心,考虑把两个起始点的人尽量往两个角塞 先题解 - P1204 [USACO1.2]挤牛奶Milking Cows
很水的一道题,但我水了一个小时。。。太弱了啊。 #include <iostream> using namespace std; bool ar[1000010]; int main() { int n,l,r,MAXRR = 0,MINLL = 1000010; cin >> n; while(n--) { cin >> l >> r; MAXRR = max(MAXRR,r); MINLL = min(MINLL,l); for(c++小数保留(setprecision(n))与浮点型整形运算的相关
测试代码: #include<iostream> using namespace std; #include<iomanip> int main() { double ans1; double ans2; double ans3; int a, b; cin >> a >> b; ans1 = a / b; ans2 = a / b * 1.0; ans3 = a * 1.0 / b; cout << "正常输出:&q实验二2(有错)
#include<stdio.h> #include<stdlib.h> int main() { char ans1,ans2; printf("复习了没?(输入y或Y表示复习了,输入n或N表示没复习):"); ans1=getchar(); getchar(); printf("\n动手敲代码了没?(输入y或Y表示敲了,输入n或N表示木有敲):"); ans2=getchar();P2168 [NOI2015] 荷马史诗
用哈夫曼树的思想,每次取出k小,合成。注意要加些0使得最后成为满k叉树 const int N=1e5+79; lxl n,k; struct node{ lxl w,d; bool operator <(const node &x)const { if(w!=x.w) return w>x.w;else return d>x.d;} }; std::priority_queue<node> q; int main() { read(n);re洛谷p1880 & 圆形石子堆合并 & dp
n堆石子,只能相邻两堆合并,每次合并均计算得分,求最大值和最小值 f[i][j]表示从第i堆到第j堆的得分 因为题中已经说了为圆形操场,故还需要进行分界圆 洛谷p1880 dp for (int len = 2; len <= n; len++) //必须放在dp第一位,确定合并的长度, { for (int i = 1; i + len - 1 < 2 *洛谷P1007 独木桥——思维题
遭受了普及-的智商碾压orz 其实就是说 两个人相遇后调头, 和互相穿过 完 全 等 价 啊 !!! 想到这一点就是入门-了吧 #include <iostream> #include <algorithm> using namespace std; const int maxn = 5e3 + 10; int n, l, a[maxn], ans1, ans2; int main() { cin >> l >> n; forB. Red and Blue【1000 / 思维】
https://codeforces.com/problemset/problem/1469/B 题目的意思就是给了我们两个数组,每一个数组的顺序,在合并后的数组里是不变的。 你会发现俩数组的贡献是没有关系的。 即我们在数组A中取一个最大的前缀和。 B中也去一个最大的前缀和。 输出这两的和即可。 #include<bits/sE. Polycarp and String Transformation(构造)
E. Polycarp and String Transformation(构造) 题目:E. Polycarp and String Transformation 题目链接:https://codeforces.com/contest/1560/problem/E 题意:有一个字符串s,对它进行操作,直到字符串为空。每次操作,可以把字符串s添加到字符串t的尾部,然后删除s的一种字符。给定字符串t,求字E - CCPC Strings HDU - 6942 数列求和+逆元+容斥
大意:给你一个整数N,代表字符串长度,每个位置上的字符可以是’C’ 或者 ‘P’,长度为N的字符串中有2^N种,为这些字符串中,包含几个‘CCPC’(一个字符串中的有贡献的ccpc要求不重叠) 思路: 长度为N, 包含一个‘CCPC’: 空的位置数是N-4,每个位置可以填两种字符,由插空法可知‘ccpc’有(N-4题解 P6688 可重集
己所欲者,杀而夺之,亦同天赐 解题思路 一定不要用自动溢出的 Hash!!!!!!! 我真的是调吐了。。。 思路非常简单明了 : 需要我们创新一下 Hash。 首先我们的 Hash 要满足无序性。。 因此我们可以把 Hash 值的意义更改一下。 例如: \(x\) 的 Hash 值是 \(base^x\) 在每两个区间维护两个值:原队内训练1 牛客多校第六场补题C 构造题(结论题)
队内训练1 牛客多校第六场补题C 构造题(结论题) 题目链接link. 题意:给你一个n,有一个n的完全图。你可以删任意次,每次得删掉一个三角形。一条边只能删一次,删除任意次后需要保证,剩余的边数小于n。输出任意一种符合题意的方案。 这题是一个结论题,知道结论就过的很快。 结论就是删除1555C - Coin Rows
题解:https://codeforces.ticom/problemset/problem/1555/C 题意:给你一个2*m的地图,只能向右或者下走,由a开始先走并且拿走经过的路途中的全部硬币,然后由b开始走,b那的硬币代表分数,a想分数少,b想分数多,求最少的分数。 题解: 因为只有两行,所以只需要找到a向下的节点,每一次对第一行右边HDU6956 Pass! 常系数齐次线性递推 BSGS
HDU6956 Pass! 常系数齐次线性递推 题意 \(n\)个人玩球,初始时\(1\)号发球,发球可以发给除了自己的任意一个人 问最后发到\(1\)号的方案数 分析 \(dp[n][0/1]\)表示经过\(n\)次发球后回到\(1\)号位/不回到\(1\)号位的方案数 其中\(N\)表示总人数 那么可以轻易列出转移方程 \[dp[n][03:不高兴的津津
团队QQ:466373640 个人博客:www.doubleq.winc++/noi/信息学奥数博客:http://www.cnblogs.com/zwfymqz03:不高兴的津津 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名