A. Div. 7 给一个数,问最少修改多少位可以让这个数被7整除。 注意到7小于10,因此每10个数必然有一个7,所以最多只需要修改一次个位即可。 #include <iostream> #include <cmath> #define ll long long using namespace std; int main() { int t; cin >> t; while(t--) { int n;
题目如下图所示: 代码为: #include"stdio.h" #include"string.h" int main() { char a[1005]; char b[1005]; gets(a); gets(b); int len1=strlen(a); int len2=strlen(b); int ans=0; //计数 for(int i=0;i+len2-1<len1;i++) { int f=1;//开关判断 fo
1.area问题 纳尼?这难道就是大明湖畔的封闭曲线围面积问题?? #include<bits/stdc++.h> using namespace std; int a[11][11]; //输入 int tap[11][11]; //记录确定被围的点为1 , 不确定为0,确定不被围的点为-1; int way[11][11]; //记录一次搜索涉及的点为1 void mark(){ f
1005. K 次取反后最大化的数组和 题目链接:1005. K 次取反后最大化的数组和(简单) 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回
class Solution { public int largestSumAfterKNegations(int[] nums, int k) { Arrays.sort(nums); int sum = 0; for(int i = 0; i < nums.length; i++){ // 这是负数并且k>0,转为正数 if(nums[i] < 0 && k > 0){ nums[
原题链接: 领地选择 - 洛谷https://www.luogu.com.cn/problem/P2004 题目描述 作为在虚拟世界里统帅千军万马的领袖,小 Z 认为天时、地利、人和三者是缺一不可的,所以,谨慎地选择首都的位置对于小 Z 来说是非常重要的。 首都被认为是一个占地 C×C 的正方形。小 Z 希望你寻找到一
解题思路 贪心解决:有操作时尽量操作小的比如负数,如果负数操作完还有剩余操作数,则将剩余操作数都用于操作最小的数如果剩余操作数%2==0或者数组中包含0那就说明剩下的操作数可以使当前数组不变,直接return sum,如果以上两项都不符合,那其实剩余操作数可以看成对最小的数进
给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数组 可能的最大和 。 示例 1: 输入:nums = [4,2,3], k = 1 输出:5 解释:选择下标 1 ,nums
[LeetCode]1005. K次取反后最大化的数组和 题目示例方法从小到大修改负数 提交结果 题目 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修
题目描述 题干: 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数组 可能的最大和 。 示例 1: 输入:nums = [4,2,3], k = 1 输出:5 解
比赛地址:Link A 颜色块 1.0 秒 131,072.0 KB 100 分 一张 \(m\times n\) 的图片,每个点有一个颜色,相同颜色的点连在一起(上下左右四连通)属于同一个颜色块,问这张图片共有多少个颜色块。数据保证单个颜色块的点数量不超过 \(10^5\)。 输入 第一行:2个数\(n\),\(m\),中间用空格分隔,表示地
01背包问题 #include<bits/stdc++.h> using namespace std; int w[1005],va[1005],dp[1005];//重量和价值dp遍历数组 int main() { int n,v; cin>>n>>v; for(int i=1;i<=n;i++){ cin>>w[i]>>va[i]; } for(int i=1;i<=n;i++){ for(int j=v;j&
给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。) 以这种方式修改数组后,返回数组可能的最大和。 示例 1: 输入:A = [4,2,3], K = 1 输出:5 解释:选择索引 (1,) ,然后 A 变为 [4,
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定
Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English. Input Specification: Each input file contains one test case. Each case occupies one line which contains an N (≤10^100).
小A的通勤系列二 2852: 小A的通勤系列二 时间限制: 1 Sec 内存限制: 128 MB 提交: 98 解决: 21 [状态] [讨论版] [提交] [命题人:541703040109] 题目描述 小A下了地铁需要经过一个公园才到公司,小A经过的公园是一个长N宽M的矩形,小A每天从左下角进入公园,从右上角走出公
目录 题目大意解题思路样例输入输出 代码 题目大意 原题通道 解题思路 这题用区间dp做,由于项链是环形的,可以先合并第一个和最后一个,所以要先做预处理,把项链复制一遍,使头尾相连。 f i
排序 思路: 直接做一次排序 然后特判一下即可 需要注意输出格式是在每个数前输出空格 排序推荐直接使用c++的sort函数 需要下面这两句引入 #include <algorithm> using namespace std; 代码: #include "stdio.h" #include <algorithm> using namespace std; int main(){ int
1. 题目 Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English. Input Specification: Each input file contains one test case. Each case occupies one line which contains an N (≤1010
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接
#include<stdio.h> int main() { int a[1005]; int N; scanf("%d",&N); for(int i = 0;i<N;i++) { scanf("%d",&a[i]); } int k = 0; for(int i = 0;i<N;i++) { if(a[i] !=
2021CCPC重赛 1005 Monopoly hdu链接 Solution 注意对负数的取模方法,注意特判0 查找最后一个小于等于x的方法: 使用 pair <元素值乘 -1 ,数组内下标>,排序后查找第一个大于等于 -x 的值 代码 #include<stdio.h> #include<string.h> #include<algorithm> #include<iostream> #in
t1 - 生活在树上 tree 小忆和小艾生活在树上。这颗树 \(T\) 有 \(n\) 个节点,由 \(n-1\) 条边连接。现在树上有一个排列 \(p\) ,每次小艾可以选择一条边 \((u,v)\in T\),将 \(p_u\) 与 \(p_v\) 交换,小艾的任务是将排列完成排序。为了估算自己至少要交换多少次,小艾找小忆请教,小忆
#include<bits/stdc++.h> #define ll long long #define fir first #define sec second #define PB push_back #define ALL(a) begin(a),end(a) #define mem(a,n) memset(a,n,sizeof(a)) #define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namesp
Link. Codeforces Luogu Description. 有 \(n\) 个点,\(m\) 条边,每条边权为 \(1\) 或 \(2\)。 要求构造一种方案,使得 \(1\) 到 \(n\) 的所有路径长度都相等。 Solution. 差分约束。 首先,\(1\) 到 \(n\) 所有路径长度都相等,那 \(1\) 到所有点长度都相等。 所以相当于每个点有个唯一