首页 > TAG信息列表 > pos1

P6406 [COCI2014-2015#2] Norma & ZLOJ 练习58 D

written on 2022-08-03 也是一道套路题,但是之前遇到得不多,所以这次总结一下。 这类题目要求统计所有区间的分数值之和。显然暴力的思路,即枚举所有的区间是不可行的。 先看一下玄学的暴力优化,这种大步跳的方法可以有效地降低时间,但是很玄学,比赛的时候可以用这种方式骗分,因为性价比

截图

    #include "me.hpp" void getBmp(double pos1[3], double pos2[3]); extern DllExport void ufusr(char *param, int *returnCode, int rlen) { UF_initialize(); double douP1[3] = { 500,0,0 }; double douP2[3] = { 0,500,0 }; getBmp(do

CF888E Maximum Subsequence 题解

首先看完本题,最直接的想法就是——爆搜! 但是, \(2^{35}\) 让我们望而却步,因此我们需要考虑一定的优化。 而本题的优化是十分经典的 折半搜索 (Meet in middle) 算法。 折半搜索的主要思路就是:将序列裂成两半搜索,然后合并答案。 对于这道题,我们首先对 \([1,\dfrac{n}{2}]\) 做一次暴力

AT4142 [ARC098B] Xor Sum 2 题解

本题首先需要注意到几个性质: \(x \oplus y \leq x+y\) 。 \(x \oplus y = z\) 等价于 \(x \oplus z = y\) 。 搞清楚这两点,题目就好做了。 首先,对于满足要求的连续区间 \([l,r]\) ,如果加入数 \(a_{r+1}\) 之后不平衡了,那么我们直接弹出 \(a_l\) 即可,根据性质 2 以及众所周知的加

Java方法递归的简单例题

目录 递归 1.递归求N 的阶乘和递归求1+2+3+4······+n 2.按顺序打印一个数字的每一位 3.斐波那契数列和青蛙跳台阶问题 4.汉诺塔问题 递归 递归,简单来说,就是方法自己调用自己的过程,那要怎么样去实现递归呢? 首先,我们需要去根据条件,推导出一个递推公式,同时还需要有一个趋近

分形之城

Q A #include<iostream> #include<complex> #include<iomanip> using namespace std; using LL = long long ; using PLL = pair<LL,LL>; PLL calc(LL n,LL m){ if(0==n){ return {0,0}; } LL len=1ll<<(n-1); LL cnt=1ll<<(2*n-2

Unity 贝塞尔曲线 优化画线平滑

贝塞尔曲线 优化画线平滑 在代码中调用下面这个方法,传入自己所要平滑的曲线的点的List列表,BezierCheck()会计算出每2个点之间需要补充多少个贝塞尔补间的点。 private static Vector3 pos1; private static Vector3 pos2; private static Vector3 pos3; priv

CF1473B String LCM 题解

Content 如果一个字符串 \(s\) 由若干个字符串 \(t\) 拼接而成,则我们说 \(s\) 能被 \(t\) 整除。定义 \(s_1,s_2\) 的最短公倍串为可以同时被 \(s_1,s_2\) 的最短非空字符串。给定 \(T\) 对字符串 \(s_1,s_2\),求出每对字符串的最短公倍串。 数据范围:\(T\in[1,2000],|s_1|,|s_2|\in

C++分割字符串方法

C++标准目前没有提供分割字符串的方法,但可以自己实现之。 测试代码如下: #include <vector> #include <string> #include <iostream> std::vector<std::string> Split(const std::string& str, const char* delim) { std::vector<std::string> result; size_t delim_le

Airtest API精讲之放大缩小pinch()

上期回顾:Airtest API精讲之双指滑动two_finger_swipe() 以下基于python3.8;airtestIDE1.2.11;airtest1.2.2;pocoui1.0.83 上次我们讲了two_finger_swipe(),如果你看了之前的解析,那pinch()也就顺理成章了。 老规矩开场白,我们今天要讲的是Airtest框架的pinch(),不是Poco框架的,一般我们

题143.pat甲级练习-1032 Sharing (25 分)

文章目录 题143.pat甲级练习-1032 Sharing (25 分)一、题目二、题解 题143.pat甲级练习-1032 Sharing (25 分) 一、题目 二、题解 题目要求找到共用链表的表头的地址输出,我采用的路子是分开遍历两个单词,把遍历到的节点地址对应flag++,然后看谁最先flag=2就输出。 #i

R多元回归

打开命令行窗口,运行C:\soft\R\bin\Rscript.exe D:\test\total.txt sink(file = "D://test//totalResult.txt",append = FALSE,type = c("output","message"),split = FALSE)   x1 x2 x3 ytech1 tech13 pos2 0.5tech2 tech12 pos1 0.6tech3 tech11

题解 序列问题

传送门 \(n^2\) 很好写 发现转移要满足限制条件 \(i<j,\ a[i]-i\geqslant a[j]-j,\ a[i]<a[j]\),于是CDQ,被卡常了 第一次写CDQ优化DP是在考场上写的居然还写出来了 然而被出题人耍了…… 观察这几个条件,发现若满足 \(a[i]-i\geqslant a[j]-j,\ a[i]<a[j]\) 则一定有 \(i<j\) 成立

DSAAC习题3.6

/*默认header和NULL*/ /*默认数据输入是次数从高到底排序*/ #include <stdio.h> #include <stdlib.h> struct node { int coef; int exp; struct node* next; }; typedef struct node* term; typedef struct node* poly; void insert(int c, int e, term p) { term temp =

cdq实现树状数组

题目链接 思路 毒瘤的一批的东西 也算是cdq的一个应用吧 代码 #include<bits/stdc++.h> #define fi first #define se second #define debug cout<<"I AM HERE"<<endl; using namespace std; typedef long long ll; const int maxn=2e6+5,inf=0x3f3f3f3f,mod=1e9+7; const

8.10考试总结(NOIP模拟35)[玩游戏·排列·最短路·矩形]

T1 玩游戏 解题思路 可以把序列从 k 位置掰成两个序列。 问题就变成了两个序列从开头走向末尾是否可以保证前缀和之和一直不大于 0 。 并且可以移动到两个序列的末尾,问题就变成处理前缀和。 然后在每一个序列里维护一个 next 值,表示可以跳到的较小值。 这里需要正反扫一遍,毕竟只扫

题解 客星璀璨之夜

传送门 并不知道小球进洞模型是什么,并且不建议在机房百度它 所以……天体湮灭模型(雾):一个更广为人知(?)的名字是小球进洞模型 考虑只有一个球,两个洞的情况:显然向两边滚的概率各是 \(\frac{1}{2}\) 考虑拓展到两个球:发现其中一个球在滚动湮灭后会变成情况1,然后就可以转移了 我们枚举这

Harbour.Space Scholarship Contest 2021-2022 (open for everyone, rated, Div. 1 + Div. 2) B. Reverse S

B. Reverse String 题意:给定字符串s1,s2,从s1选择一个位置开始,若干次向右再若干次向左,请问是否能得到s2 解法:由于数据给的小,可以采用搜索,遇到第一个相同的字符时,开始向左向右分别搜索,之后每一个字符同理,直到s2全部匹配完成。   #include<bits/stdc++.h> using namespace std; s

华为机试HJ17:坐标移动

题目描述: 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。 输入: 合法坐标为A(或者D或者W或者S) + 数字(两位以内) 坐标之间以;分隔。 非法坐标点需要进行丢弃

递归3之汉诺塔的实现

汉诺塔的实现 前言一、汉诺塔是什么?二、实现思路1.尝试找出规律2.代码初步思路 三、最终实现总结 前言 一、汉诺塔是什么? 汉诺塔,又称河内塔,讲的是在一根柱子上从下往上按照大小顺序摞着64片圆盘,要求把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小

hdu2093题解

题目: C++ 编程考试使用的实时提交系统,具有即时获得成绩排名的特点。它的功能是怎么实现的呢? 我们做好了题目的解答,提交之后,要么 “AC”,要么错误,不管怎样错法,总是给你记上一笔,表明你曾经有过一次错误提交,因而当你一旦提交该题 “AC” 后,就要与你算一算帐了,总共该题错误提交了几回

例题5-2 UVA101 The Blocks Problem

难度:3 这道题是vector的练习。有四个操作,如果一个一个写的话很麻烦,这时要化简,找到操作的共性,然后可以得到,其实只需要两种类型的操作,一个是把一个木块上面的木块全部归位,另一个是把这个木块及其以上的木块照搬到另外一个木块上面,总共就这两种操作,其中第二个操作是每次都要做的

Educational Codeforces Round 109 D. Armchairs (dp)

传送门 题意:有一个长度为n的0/1数列,1的个数小于等于0的个数,可以把i位置上的1移到j位置(如果j位置是0),i位置变成0,j位置变成1,代价是|i-j|,问使得所有原先是1的位置都变成0的代价最小是多少。 (3<=n<=5000) 分析:我们可以把1/0的下标都拿出来,放进数组pos1\pos0里面,问题就变成了拿

【力扣】旋转图像

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rotate-image 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 这个题目看了会,只想

LeetCode 1.两数之和

LeetCode 1.两数之和 一、题目详情 原题链接:https://leetcode-cn.com/problems/two-sum/ 给定一个整数数组nums 和一个整数目标值 target,请你在该数组中找出和为目标值的那 两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案