iOS
Codeforces Round 870 (A-D)
A (n^2)暴力推,遍历可能撒谎的人数(0-n),然后(O(n))check就行了。 仔细看逻辑其实(O(1))就能check,草率了,后面再修正 点击查看代码 B 回文对应的两个数的差值一定是(x)的倍数,把所有情况取个gcd即可 点击查看代码 C n除1外的最小的因子小于等于m即可 点击查看代码 D 做法是尺取,不知道会不会假了 将(b_{i1}+b_{i2}+b_{i3}
NC54585 小魂和他的数列
题目链接 题目 题目描述 一天,小魂正和一个数列玩得不亦乐乎。 小魂的数列一共有n个元素,第i个数为Ai。 他发现,这个数列的一些子序列中的元素是严格递增的。 他想知道,这个数列一共有多少个长度为K的子序列是严格递增的。 请你帮帮他,答案对998244353取模。 对于100%的数据,1≤ n ≤ 500,000,2≤ K ≤ 10,1≤ Ai ≤ 109。 输入描述 第一行包含两个整数n,K,表
2023年电子科技大学ACM-ICPC暑假前集训-第一次队内赛
Preface 队内赛被吊打了呜呜呜,F死命贪心贪到天昏地暗,直接后面两题一眼没看 其实后面对拍大概知道贪心是有问题的了,但以为可以用分类讨论来避免掉所以没去写DP(他其实什么都知道,只是不想面对罢了) 感觉DP还是一如既往地是我的弱项的说,还得好好练习的说 G和H其实比较常规,补题的时候一下就写过了,不过H的技巧还是很有意思的,狠狠地学习了一手 A 计算行列式 Prob 给定一个三阶矩阵,计算
pta_【CPP0026】以点类Point及平面图形类Plane为基础设计三角形类Triangle
#include <iostream>#include<cmath>using namespace std;//点类Pointclass Point{private: double x; double y;public: Point(double xv=0,double yv=0);/*构造函数*/ Point(const Point &p)
string为接口的注意事项
string为接口的注意事项 问题描述 在一个应用程序中用到了另外一个库的dll,向dll的接口传递std::string参数时报错。由于这方面的问题比较多,所以我进行了深入研究。 前置知识 在vs项目右键 -> 属性 ->C/C++ ->代码生成->运行库,有四个选项,/MD 、/MDd、/MT、/MTd 含有D的选项 若设置了这种选项,那么就会和其他设置了含
P8446 虹色的北斗七星 题解
传送门 前言: 很久之前做的一道题目了,当时并没有想出来怎么做,随便猜了个结论交上去发现过了。(好像还是第一道自己做出来的绿) 简要题意: 你有一个长度为 (n) 的序列 (a) ,一个区间([l, r])的价值定义为当前区间的极差减去区间长度,求出最大的价值。 (Solution): 看了看题解,发现大多数都是说 (l, r) 对应的数字一定是一个最大一个最小,然后枚举其中一个端点。 真的需要大
linux 磁盘管理
目录 一、磁盘 二、添加磁盘 三、磁盘分区 四、创建文件系统 五、挂载 一、磁盘 原理:磁盘现在可以称为硬盘,代表机械硬盘 机械硬盘:由磁头,中间(马达),盘面,柱面 磁盘大小:磁头数*磁道(柱面)*没道扇区数*每扇字节(512字节) 磁盘
c++打卡练习(21)
分钱: 五块钱,换成一块、五毛、一毛,有几种换法? 流程图: 伪代码: 源代码: #include<iostream>using namespace std;int main (){ int yuan[6]={0,10,20,30,40,50}; int jiao[11]={0,5,10,15,20,25,30,35,40,45,50}; int i,j,k,m=1; for(i=0;
day 20 马克思手稿中的数学题
1.有男人,女人,小孩分别为X,Y,Z; 2.满足X+Y+Z=30;3*X+2*Y+Z=50; 3.循环遍历得出解 #include<iostream> using namespace std; int main(){ printf("男人 女人 小孩n"); for(int x=0;x<=10;x++){ for(int y=0;
2023-05-05:给定一个无向、连通的树 树中有 n 个标记为 0...n-1 的节点以及 n-1 条边 。 给定整数 n 和数组 edges , edges[i] = [ai, bi]表示树中的
2023-05-05:给定一个无向、连通的树 树中有 n 个标记为 0...n-1 的节点以及 n-1 条边 。 给定整数 n 和数组 edges , edges[i] = [ai, bi]表示树中的节点 ai 和 bi 之间有一条边。 返回长度为 n 的数组 answer ,其中 answer[i] : 树中第 i 个节点与所有其他节点之间的距离之和。 输入: n = 6, edges = [[
求最大值(函数模板)
一、问题描述: 两个类如下设计:类Time有三个数据成员,hh,mm,ss,分别代表时,分和秒,并有若干构造函数和一个重载-(减号)的成员函数。类Date有三个数据成员,year,month,day分别代表年月日,并有若干构造函数和一个重载>(<)(大于号或者小于号)的成员函数。 要求设计一个函数模板 template <class T> T maxn(T x[], int
ECNU 2018 - 棋盘染色
首先看到这个数据范围限制,我们不难猜到是状压 (dp),首先就猜测复杂度应该是 (O(nmS)),(S) 是状压大小,和 (m) 有关的某个非多项式的级数。 错误的思考过程 然后我们就很快能找到一个状压 (dp) 的方法。我们可以记录当前一列的黑白染色情况和连通块的集合划分。粗略估计是 (sum_{i=0}^{m}binom{m}{i}Bell_iBell_{m-i}) 的,很寄就是了。 接下来我
color a tree poj2054
color a tree(贪心) 题目描述 可以得到一个确定性的结论,最大值的结点一定是在父节点染色后立即染色。 但是此时依结论不好在复杂的情况正推,先考虑简单情况: 假如有权值x,y,z三个点,已知x,y一定一起染色,则有两种可能方案: 先x,y,再z,代价为X=x+2y+3z 先z,再x,y,代价为Y=2x+3y+z X-Y=2z-x-y,当z>(x+y)/2时,X-Y>0,即先
AcWing 1209. 带分数
1-暴力解法 思考1:暴力列举出1~9的全排列,之后再将这些数字按照一定规则相加,最后将结果与n比较。全排列好写,但相加的规则不好写,而且太暴力了,估计会超时。 /* AcWing 1209. 带分数 00.最暴力的写法 1.枚举全排列 2.枚举位数(枚举a和b,可算出c) 3.直接算出n,判断等式是否成立 4.时间复杂度:9*9!*C(8,
2.10马克思手稿的数学题
1.题目描述:有三十个人,其中有男人女人和小孩,他们在同一家饭馆吃饭,总共花了50先令。已知男人吃饭需要3先令,女人吃饭需要2先令,小孩吃饭需要花1先令,求有多少个男人女人小孩; 源代码: #include <iostream>using namespace std;int main(){ for (int i = 0; i < 17; i++) { for (int j =
编程一小时2023.5.5
1. #include <iostream>using namespace std; template <class T>class MyArray{public: bool check(); ~MyArray(); MyArray(int); void sort(); void display();private: int size;
每周打卡 第二(?)周 5
#include<cstring>#include<cstdio>#include<iostream>#include<algorithm> using namespace std; const int N = 30; int m,n; int st[N];bool a[N]; void f(int u,i